<!DOCTYPE html><html><head>
      <title>stateflow</title>
      <meta charset="utf-8">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      
      <link rel="stylesheet" href="file:////data/tangpei/.vscode-server/extensions/shd101wyy.markdown-preview-enhanced-0.6.1/node_modules/@shd101wyy/mume/dependencies/katex/katex.min.css">
      
      
      
      
      
      
      
      
      
      <style>
      /**
 * prism.js Github theme based on GitHub's theme.
 * @author Sam Clarke
 */
code[class*="language-"],
pre[class*="language-"] {
  color: #333;
  background: none;
  font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;
  text-align: left;
  white-space: pre;
  word-spacing: normal;
  word-break: normal;
  word-wrap: normal;
  line-height: 1.4;

  -moz-tab-size: 8;
  -o-tab-size: 8;
  tab-size: 8;

  -webkit-hyphens: none;
  -moz-hyphens: none;
  -ms-hyphens: none;
  hyphens: none;
}

/* Code blocks */
pre[class*="language-"] {
  padding: .8em;
  overflow: auto;
  /* border: 1px solid #ddd; */
  border-radius: 3px;
  /* background: #fff; */
  background: #f5f5f5;
}

/* Inline code */
:not(pre) > code[class*="language-"] {
  padding: .1em;
  border-radius: .3em;
  white-space: normal;
  background: #f5f5f5;
}

.token.comment,
.token.blockquote {
  color: #969896;
}

.token.cdata {
  color: #183691;
}

.token.doctype,
.token.punctuation,
.token.variable,
.token.macro.property {
  color: #333;
}

.token.operator,
.token.important,
.token.keyword,
.token.rule,
.token.builtin {
  color: #a71d5d;
}

.token.string,
.token.url,
.token.regex,
.token.attr-value {
  color: #183691;
}

.token.property,
.token.number,
.token.boolean,
.token.entity,
.token.atrule,
.token.constant,
.token.symbol,
.token.command,
.token.code {
  color: #0086b3;
}

.token.tag,
.token.selector,
.token.prolog {
  color: #63a35c;
}

.token.function,
.token.namespace,
.token.pseudo-element,
.token.class,
.token.class-name,
.token.pseudo-class,
.token.id,
.token.url-reference .token.variable,
.token.attr-name {
  color: #795da3;
}

.token.entity {
  cursor: help;
}

.token.title,
.token.title .token.punctuation {
  font-weight: bold;
  color: #1d3e81;
}

.token.list {
  color: #ed6a43;
}

.token.inserted {
  background-color: #eaffea;
  color: #55a532;
}

.token.deleted {
  background-color: #ffecec;
  color: #bd2c00;
}

.token.bold {
  font-weight: bold;
}

.token.italic {
  font-style: italic;
}


/* JSON */
.language-json .token.property {
  color: #183691;
}

.language-markup .token.tag .token.punctuation {
  color: #333;
}

/* CSS */
code.language-css,
.language-css .token.function {
  color: #0086b3;
}

/* YAML */
.language-yaml .token.atrule {
  color: #63a35c;
}

code.language-yaml {
  color: #183691;
}

/* Ruby */
.language-ruby .token.function {
  color: #333;
}

/* Markdown */
.language-markdown .token.url {
  color: #795da3;
}

/* Makefile */
.language-makefile .token.symbol {
  color: #795da3;
}

.language-makefile .token.variable {
  color: #183691;
}

.language-makefile .token.builtin {
  color: #0086b3;
}

/* Bash */
.language-bash .token.keyword {
  color: #0086b3;
}

/* highlight */
pre[data-line] {
  position: relative;
  padding: 1em 0 1em 3em;
}
pre[data-line] .line-highlight-wrapper {
  position: absolute;
  top: 0;
  left: 0;
  background-color: transparent;
  display: block;
  width: 100%;
}

pre[data-line] .line-highlight {
  position: absolute;
  left: 0;
  right: 0;
  padding: inherit 0;
  margin-top: 1em;
  background: hsla(24, 20%, 50%,.08);
  background: linear-gradient(to right, hsla(24, 20%, 50%,.1) 70%, hsla(24, 20%, 50%,0));
  pointer-events: none;
  line-height: inherit;
  white-space: pre;
}

pre[data-line] .line-highlight:before, 
pre[data-line] .line-highlight[data-end]:after {
  content: attr(data-start);
  position: absolute;
  top: .4em;
  left: .6em;
  min-width: 1em;
  padding: 0 .5em;
  background-color: hsla(24, 20%, 50%,.4);
  color: hsl(24, 20%, 95%);
  font: bold 65%/1.5 sans-serif;
  text-align: center;
  vertical-align: .3em;
  border-radius: 999px;
  text-shadow: none;
  box-shadow: 0 1px white;
}

pre[data-line] .line-highlight[data-end]:after {
  content: attr(data-end);
  top: auto;
  bottom: .4em;
}html body{font-family:"Helvetica Neue",Helvetica,"Segoe UI",Arial,freesans,sans-serif;font-size:16px;line-height:1.6;color:#333;background-color:#fff;overflow:initial;box-sizing:border-box;word-wrap:break-word}html body>:first-child{margin-top:0}html body h1,html body h2,html body h3,html body h4,html body h5,html body h6{line-height:1.2;margin-top:1em;margin-bottom:16px;color:#000}html body h1{font-size:2.25em;font-weight:300;padding-bottom:.3em}html body h2{font-size:1.75em;font-weight:400;padding-bottom:.3em}html body h3{font-size:1.5em;font-weight:500}html body h4{font-size:1.25em;font-weight:600}html body h5{font-size:1.1em;font-weight:600}html body h6{font-size:1em;font-weight:600}html body h1,html body h2,html body h3,html body h4,html body h5{font-weight:600}html body h5{font-size:1em}html body h6{color:#5c5c5c}html body strong{color:#000}html body del{color:#5c5c5c}html body a:not([href]){color:inherit;text-decoration:none}html body a{color:#08c;text-decoration:none}html body a:hover{color:#00a3f5;text-decoration:none}html body img{max-width:100%}html body>p{margin-top:0;margin-bottom:16px;word-wrap:break-word}html body>ul,html body>ol{margin-bottom:16px}html body ul,html body ol{padding-left:2em}html body ul.no-list,html body ol.no-list{padding:0;list-style-type:none}html body ul ul,html body ul ol,html body ol ol,html body ol ul{margin-top:0;margin-bottom:0}html body li{margin-bottom:0}html body li.task-list-item{list-style:none}html body li>p{margin-top:0;margin-bottom:0}html body .task-list-item-checkbox{margin:0 .2em .25em -1.8em;vertical-align:middle}html body .task-list-item-checkbox:hover{cursor:pointer}html body blockquote{margin:16px 0;font-size:inherit;padding:0 15px;color:#5c5c5c;background-color:#f0f0f0;border-left:4px solid #d6d6d6}html body blockquote>:first-child{margin-top:0}html body blockquote>:last-child{margin-bottom:0}html body hr{height:4px;margin:32px 0;background-color:#d6d6d6;border:0 none}html body table{margin:10px 0 15px 0;border-collapse:collapse;border-spacing:0;display:block;width:100%;overflow:auto;word-break:normal;word-break:keep-all}html body table th{font-weight:bold;color:#000}html body table td,html body table th{border:1px solid #d6d6d6;padding:6px 13px}html body dl{padding:0}html body dl dt{padding:0;margin-top:16px;font-size:1em;font-style:italic;font-weight:bold}html body dl dd{padding:0 16px;margin-bottom:16px}html body code{font-family:Menlo,Monaco,Consolas,'Courier New',monospace;font-size:.85em !important;color:#000;background-color:#f0f0f0;border-radius:3px;padding:.2em 0}html body code::before,html body code::after{letter-spacing:-0.2em;content:"\00a0"}html body pre>code{padding:0;margin:0;font-size:.85em !important;word-break:normal;white-space:pre;background:transparent;border:0}html body .highlight{margin-bottom:16px}html body .highlight pre,html body pre{padding:1em;overflow:auto;font-size:.85em !important;line-height:1.45;border:#d6d6d6;border-radius:3px}html body .highlight pre{margin-bottom:0;word-break:normal}html body pre code,html body pre tt{display:inline;max-width:initial;padding:0;margin:0;overflow:initial;line-height:inherit;word-wrap:normal;background-color:transparent;border:0}html body pre code:before,html body pre tt:before,html body pre code:after,html body pre tt:after{content:normal}html body p,html body blockquote,html body ul,html body ol,html body dl,html body pre{margin-top:0;margin-bottom:16px}html body kbd{color:#000;border:1px solid #d6d6d6;border-bottom:2px solid #c7c7c7;padding:2px 4px;background-color:#f0f0f0;border-radius:3px}@media print{html body{background-color:#fff}html body h1,html body h2,html body h3,html body h4,html body h5,html body h6{color:#000;page-break-after:avoid}html body blockquote{color:#5c5c5c}html body pre{page-break-inside:avoid}html body table{display:table}html body img{display:block;max-width:100%;max-height:100%}html body pre,html body code{word-wrap:break-word;white-space:pre}}.markdown-preview{width:100%;height:100%;box-sizing:border-box}.markdown-preview .pagebreak,.markdown-preview .newpage{page-break-before:always}.markdown-preview pre.line-numbers{position:relative;padding-left:3.8em;counter-reset:linenumber}.markdown-preview pre.line-numbers>code{position:relative}.markdown-preview pre.line-numbers .line-numbers-rows{position:absolute;pointer-events:none;top:1em;font-size:100%;left:0;width:3em;letter-spacing:-1px;border-right:1px solid #999;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.markdown-preview pre.line-numbers .line-numbers-rows>span{pointer-events:none;display:block;counter-increment:linenumber}.markdown-preview pre.line-numbers .line-numbers-rows>span:before{content:counter(linenumber);color:#999;display:block;padding-right:.8em;text-align:right}.markdown-preview .mathjax-exps .MathJax_Display{text-align:center !important}.markdown-preview:not([for="preview"]) .code-chunk .btn-group{display:none}.markdown-preview:not([for="preview"]) .code-chunk .status{display:none}.markdown-preview:not([for="preview"]) .code-chunk .output-div{margin-bottom:16px}.scrollbar-style::-webkit-scrollbar{width:8px}.scrollbar-style::-webkit-scrollbar-track{border-radius:10px;background-color:transparent}.scrollbar-style::-webkit-scrollbar-thumb{border-radius:5px;background-color:rgba(150,150,150,0.66);border:4px solid rgba(150,150,150,0.66);background-clip:content-box}html body[for="html-export"]:not([data-presentation-mode]){position:relative;width:100%;height:100%;top:0;left:0;margin:0;padding:0;overflow:auto}html body[for="html-export"]:not([data-presentation-mode]) .markdown-preview{position:relative;top:0}@media screen and (min-width:914px){html body[for="html-export"]:not([data-presentation-mode]) .markdown-preview{padding:2em calc(50% - 457px + 2em)}}@media screen and (max-width:914px){html body[for="html-export"]:not([data-presentation-mode]) .markdown-preview{padding:2em}}@media screen and (max-width:450px){html body[for="html-export"]:not([data-presentation-mode]) .markdown-preview{font-size:14px !important;padding:1em}}@media print{html body[for="html-export"]:not([data-presentation-mode]) #sidebar-toc-btn{display:none}}html body[for="html-export"]:not([data-presentation-mode]) #sidebar-toc-btn{position:fixed;bottom:8px;left:8px;font-size:28px;cursor:pointer;color:inherit;z-index:99;width:32px;text-align:center;opacity:.4}html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] #sidebar-toc-btn{opacity:1}html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc{position:fixed;top:0;left:0;width:300px;height:100%;padding:32px 0 48px 0;font-size:14px;box-shadow:0 0 4px rgba(150,150,150,0.33);box-sizing:border-box;overflow:auto;background-color:inherit}html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc::-webkit-scrollbar{width:8px}html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc::-webkit-scrollbar-track{border-radius:10px;background-color:transparent}html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc::-webkit-scrollbar-thumb{border-radius:5px;background-color:rgba(150,150,150,0.66);border:4px solid rgba(150,150,150,0.66);background-clip:content-box}html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc a{text-decoration:none}html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc ul{padding:0 1.6em;margin-top:.8em}html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc li{margin-bottom:.8em}html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc ul{list-style-type:none}html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] .markdown-preview{left:300px;width:calc(100% -  300px);padding:2em calc(50% - 457px -  150px);margin:0;box-sizing:border-box}@media screen and (max-width:1274px){html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] .markdown-preview{padding:2em}}@media screen and (max-width:450px){html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] .markdown-preview{width:100%}}html body[for="html-export"]:not([data-presentation-mode]):not([html-show-sidebar-toc]) .markdown-preview{left:50%;transform:translateX(-50%)}html body[for="html-export"]:not([data-presentation-mode]):not([html-show-sidebar-toc]) .md-sidebar-toc{display:none}
/* Please visit the URL below for more information: */
/*   https://shd101wyy.github.io/markdown-preview-enhanced/#/customize-css */

      </style>
    </head>
    <body for="html-export">
      <div class="mume markdown-preview  ">
      <h1 class="mume-header" id="sysmgr%E4%BB%8B%E7%BB%8D">SYSMGR&#x4ECB;&#x7ECD;</h1>

<p>&#x2003;&#x2003;&#x672C;&#x6587;&#x4E3B;&#x8981;&#x4ECE;&#x4EE5;&#x4E0B;&#x51E0;&#x4E2A;&#x65B9;&#x9762;&#x4ECB;&#x7ECD;&#x72B6;&#x6001;&#x673A;&#xFF1A;&#x7CFB;&#x7EDF;&#x72B6;&#x6001;&#x673A;&#x4ECB;&#x7ECD;&#x3001;&#x7CFB;&#x7EDF;&#x72B6;&#x6001;&#x673A;&#x5927;&#x81F4;&#x6846;&#x67B6;&#x3001;&#x5F53;&#x524D;&#x4E3B;&#x8981;&#x4E1A;&#x52A1;&#x6D41;&#x7A0B;&#x548C;&#x72B6;&#x6001;&#x673A;&#x914D;&#x7F6E;&#x4F7F;&#x7528;&#x3002;</p>
<h2 class="mume-header" id="0-%E7%AE%80%E4%BB%8B">0 &#x7B80;&#x4ECB;</h2>

<p>&#x2003;&#x2003;&#x4E3A;&#x4EC0;&#x4E48;&#x9700;&#x8981;&#x72B6;&#x6001;&#x673A;&#x3002;&#x6BD4;&#x5982;adas&#x9700;&#x8981;&#x6807;&#x5B9A;&#x7684;&#x65F6;&#x5019;&#xFF0C;&#x4E8B;&#x5148;&#x9700;&#x8981;&#x77E5;&#x9053;&#x6574;&#x4E2A;&#x7684;&#x7CFB;&#x7EDF;&#x72B6;&#x6001;&#xFF0C;&#x6BD4;&#x5982;&#x5F53;&#x524D;&#x662F;&#x5426;&#x5728;OTA&#x5347;&#x7EA7;&#xFF0C;&#x662F;&#x5426;&#x9A6C;&#x4E0A;&#x8981;&#x4E0B;&#x7535;&#x4E86;&#x3002;&#x5982;&#x679C;&#x6CA1;&#x6709;&#x72B6;&#x6001;&#x673A;&#xFF0C;Adas&#x5C31;&#x9700;&#x8981;&#x5206;&#x522B;&#x4E0E;OTA&#x8FDB;&#x7A0B;&#xFF0C;MCU&#x7AEF;&#x5206;&#x522B;&#x5EFA;&#x7ACB;&#x8FDE;&#x63A5;&#x3002;&#x5728;&#x6CA1;&#x6709;&#x72B6;&#x6001;&#x673A;&#x7684;&#x60C5;&#x51B5;&#x4E0B;&#xFF0C;MCU&#xFF0C;&#x5B9A;&#x4F4D;&#xFF0C;&#x89C4;&#x63A7;&#xFF0C;&#x611F;&#x77E5;&#xFF0C;OTA&#x7B49;&#x8FDB;&#x7A0B;&#x5C31;&#x9700;&#x8981;&#x5EFA;&#x7ACB;&#x5168;&#x8FDE;&#x63A5;&#x4E86;&#x3002;&#x65E0;&#x7591;&#x8017;&#x8D39;&#x8D44;&#x6E90;&#xFF0C;&#x96BE;&#x4EE5;&#x7BA1;&#x7406;&#x3002;&#x9488;&#x5BF9;&#x4EE5;&#x4E0A;&#x7F3A;&#x70B9;&#xFF0C;&#x72B6;&#x6001;&#x673A;&#x5206;&#x522B;&#x4E0E;&#x6240;&#x6709;&#x8FDB;&#x7A0B;&#x5EFA;&#x7ACB;&#x8FDE;&#x63A5;&#xFF0C;&#x5E76;&#x5C06;&#x6807;&#x5B9A;&#xFF0C;OTA&#x8FD9;&#x4E9B;&#x91CD;&#x8981;&#x4E1A;&#x52A1;&#x62BD;&#x8C61;&#x4E3A;&#x72B6;&#x6001;&#xFF0C;&#x7EDF;&#x4E00;&#x7BA1;&#x7406;&#x3002;&#x6240;&#x4EE5;&#x72B6;&#x6001;&#x673A;&#x6700;&#x6838;&#x5FC3;&#x7684;&#x529F;&#x80FD;&#x5C31;&#x662F;&#x72B6;&#x6001;&#x7BA1;&#x7406;&#xFF0C;&#x4E3B;&#x8981;&#x8D1F;&#x8D23;&#x7CFB;&#x7EDF;&#x6574;&#x4F53;&#x72B6;&#x6001;&#x7684;&#x5207;&#x6362;&#xFF0C;&#x5E7F;&#x64AD;&#xFF0C;&#x7BA1;&#x7406;&#x7B49;&#x3002;</p>
<p>&#x2003;&#x2003;&#x6B64;&#x5916;&#xFF0C;&#x72B6;&#x6001;&#x673A;&#x8FD8;&#x5305;&#x542B;&#x72B6;&#x6001;&#x7BA1;&#x7406;&#xFF0C;&#x8FDB;&#x7A0B;&#x76D1;&#x63A7;&#x4E0E;&#x7CFB;&#x7EDF;&#x76D1;&#x63A7;&#x6A21;&#x5757;&#xFF0C;&#x8FDB;&#x7A0B;&#x76D1;&#x63A7;&#x8D1F;&#x8D23;&#x5468;&#x671F;&#x6027;&#x76D1;&#x63A7;&#x8FDB;&#x7A0B;&#x662F;&#x5426;&#x5728;&#x8FD0;&#x884C;&#xFF0C;&#x4EE5;&#x53CA;&#x8FDB;&#x7A0B;&#x5360;&#x7528;&#x7684;cpu&#x8D1F;&#x8F7D;&#xFF0C;&#x5185;&#x5B58;&#x8D1F;&#x8F7D;&#x662F;&#x5426;&#x5728;&#x9884;&#x671F;&#x8303;&#x56F4;&#x5185;&#x3002;&#x7CFB;&#x7EDF;&#x76D1;&#x63A7;&#x8D1F;&#x8D23;&#x5468;&#x671F;&#x6027;&#x76D1;&#x63A7;SOC&#x6574;&#x4F53;&#x7684;&#x6570;&#x636E;&#xFF0C;&#x5982;cpu&#x8D1F;&#x8F7D;&#xFF0C;cpu&#x6E29;&#x5EA6;&#xFF0C;&#x5185;&#x5B58;&#x8D1F;&#x8F7D;&#xFF0C;BPU&#x8D1F;&#x8F7D;&#x7B49;&#x3002;<br>
&#x2003;&#x2003;&#x5176;&#x6B21;&#xFF0C;&#x72B6;&#x6001;&#x673A;&#x4E0E;&#x5916;&#x90E8;&#x8FDB;&#x7A0B;&#x7684;&#x4EA4;&#x4E92;&#x7EDF;&#x4E00;&#x901A;&#x8FC7;<strong><a href="http://libsysmgr.so">libsysmgr.so</a></strong>&#x52A8;&#x6001;&#x5E93;&#x63D0;&#x4F9B;&#x7684;&#x76F8;&#x5173;&#x63A5;&#x53E3;&#x3002;&#x7528;&#x6237;&#x53EA;&#x9700;&#x8981;&#x6CE8;&#x518C;&#x3001;&#x56DE;&#x8C03;&#x5C31;&#x884C;&#x4E86;&#x3002;<br>
1 &#x72B6;&#x6001;&#x673A;&#x4E3B;&#x8981;&#x529F;&#x80FD;&#x5982;&#x4E0B;&#xFF1A;</p>
<ul>
<li>&#x72B6;&#x6001;&#x673A;&#x7BA1;&#x7406;&#x4E3B;&#x8981;&#x72B6;&#x6001;&#x4E0D;&#x51B2;&#x7A81;</li>
<li>&#x72B6;&#x6001;&#x673A;&#x7BA1;&#x7406;&#x5404;&#x72B6;&#x6001;&#x5148;&#x540E;&#x987A;&#x5E8F;</li>
<li>&#x72B6;&#x6001;&#x673A;&#x76D1;&#x63A7;Proc&#x72B6;&#x6001;</li>
<li>&#x72B6;&#x6001;&#x673A;&#x76D1;&#x63A7;SOC&#x72B6;&#x6001;</li>
</ul>
<p>2 &#x72B6;&#x6001;&#x673A;&#x63D0;&#x4F9B;&#x7684;API&#xFF0C;&#x72B6;&#x6001;&#x673A;&#x901A;&#x8FC7;libsysmgr.so&#x7684;&#x4E0E;&#x72B6;&#x6001;&#x673A;&#x4EA4;&#x4E92;&#x3002;&#x63A5;&#x53E3;&#x5982;&#x4E0B;&#xFF1A;</p>
<ul>
<li>&#x72B6;&#x6001;&#x673A;&#x63D0;&#x4F9B;&#x6CE8;&#x518C;&#x51E0;&#x53E3;</li>
<li>&#x72B6;&#x6001;&#x673A;&#x63D0;&#x4F9B;&#x5404;&#x79CD;&#x72B6;&#x6001;&#x56DE;&#x8C03;&#x63A5;&#x53E3;</li>
<li>&#x72B6;&#x6001;&#x673A;&#x63D0;&#x4F9B;&#x8BF7;&#x6C42;&#x72B6;&#x6001;&#x5207;&#x6362;&#x7684;&#x63A5;&#x53E3;</li>
<li>&#x72B6;&#x6001;&#x673A;&#x63D0;&#x4F9B;&#x7CFB;&#x7EDF;&#x72B6;&#x6001;&#xFF0C;SOC&#x72B6;&#x6001;&#x7684;&#x67E5;&#x8BE2;&#x63A5;&#x53E3;</li>
</ul>
<h2 class="mume-header" id="1-%E7%B3%BB%E7%BB%9F%E7%8A%B6%E6%80%81%E6%9C%BA%E5%A4%A7%E8%87%B4%E6%A1%86%E6%9E%B6">1 &#x7CFB;&#x7EDF;&#x72B6;&#x6001;&#x673A;&#x5927;&#x81F4;&#x6846;&#x67B6;</h2>

<p><img src="image.png" alt="pic"></p>
<ul>
<li>
<p>&#x72B6;&#x6001;&#x673A;&#x7684;&#x6846;&#x67B6;&#x5206;&#x5E03;&#x7684;&#x8BDD;&#x4ECE;&#x4E0B;&#x5F80;&#x4E0A;&#x5206;&#x4E3A;&#x4E09;&#x90E8;&#x5206;&#xFF0C;&#x5185;&#x6838;&#x5C42;&#xFF0C;&#x72B6;&#x6001;&#x673A;&#x5C42;&#xFF0C;APP&#x5C42;&#x3002;</p>
</li>
<li>
<p>&#x5185;&#x6838;&#x5C42;&#x6D88;&#x606F;&#x7684;&#x8F93;&#x5165;&#x8F93;&#x51FA;&#x901A;&#x8FC7;&#x76F8;&#x5E94;&#x7684;&#x901A;&#x9053;&#x9001;&#x5165;IPC_worker&#xFF0C;IPC_worker&#x4E13;&#x95E8;&#x7528;&#x6765;&#x4ECE;&#x4E8B;&#x5E95;&#x5C42;&#x901A;&#x4FE1;&#xFF0C;&#x6BD4;&#x5982;&#x76F4;&#x63A5;&#x8C03;&#x7528;libspi&#x7684;read&#x51FD;&#x6570;&#xFF0C;zmq&#x7684;pub&#x3001;sub&#x3002;</p>
</li>
<li>
<p>ProtocolHander&#x63D0;&#x4F9B;&#x62C6;&#x5206;&#x4E0E;&#x6253;&#x5305;&#x7684;&#x63A5;&#x53E3;&#xFF08;&#x5E8F;&#x5217;&#x5316;&amp;&#x53CD;&#x5E8F;&#x5217;&#x5316;&#xFF09;&#x3002;&#x901A;&#x8FC7;&#x6A21;&#x677F;&#x5C06;&#x4E0D;&#x540C;&#x534F;&#x8BAE;&#x8F6C;&#x6362;&#x4E3A;&#x72B6;&#x6001;&#x673A;&#x53EF;&#x8BFB;&#x53D6;&#x7684;&#x7ED3;&#x6784;&#x3002;</p>
</li>
<li>
<p>IO_hander&#x8D1F;&#x8D23;&#x8F93;&#x5165;&#x8F93;&#x51FA;&#xFF0C;&#x4E3B;&#x8981;&#x662F;&#x53D1;&#x9001;&#x72B6;&#x6001;&#xFF0C;&#x53D1;&#x9001;ACK&#x7B49;&#x5DE5;&#x4F5C;&#x3002;</p>
</li>
<li>
<p>SessionHander&#x5B9E;&#x73B0;ack&#x673A;&#x5236;&#x4E0E;&#x8D85;&#x65F6;&#x91CD;&#x53D1;&#x3002;</p>
</li>
<li>
<p>MessageDequeBuffer&#x662F;&#x8F93;&#x5165;&#x8F93;&#x51FA;&#x6D88;&#x606F;&#x7684;&#x7F13;&#x5B58;&#x533A;&#x57DF;&#xFF0C;&#x8F93;&#x51FA;&#x7684;&#x961F;&#x5217;&#x6709;&#x65B0;&#x6D88;&#x606F;&#x65F6;&#xFF0C;&#x76F8;&#x5E94;&#x7684;&#x7EBF;&#x7A0B;&#x5C31;&#x4F1A;&#x5C06;&#x5B83;&#x53D1;&#x9001;&#x51FA;&#x53BB;&#x3002;&#x540C;&#x6837;&#x7684;&#xFF0C;&#x6709;&#x65B0;&#x7684;&#x6D88;&#x606F;&#x8F93;&#x5165;&#xFF0C;&#x4E5F;&#x4F1A;&#x6709;&#x76F8;&#x5E94;&#x7684;&#x7EBF;&#x7A0B;&#x5904;&#x7406;&#x6D88;&#x606F;&#x3002;</p>
</li>
<li>
<p>&#x4E0A;&#x5C42;&#x7684;APP&#x4EEC;&#x5C31;&#x53EF;&#x4EE5;&#x901A;&#x8FC7;libsysmgr.so&#x548C;&#x72B6;&#x6001;&#x673A;&#x901A;&#x4FE1;&#xFF0C;&#x52A8;&#x6001;&#x5E93;&#x96C6;&#x6210;&#x4E86;&#x4E0A;&#x9762;&#x6240;&#x6709;&#x7684;&#x7C7B;&#xFF0C;&#x7528;&#x6237;&#x53EA;&#x9700;&#x8981;&#x8BBE;&#x7F6E;&#x56DE;&#x8C03;&#x5C31;&#x53EF;&#x4EE5;&#x4E86;&#x3002;</p>
</li>
<li>
<p>&#x5269;&#x4F59;&#x4E24;&#x4E2A;&#x8FDB;&#x7A0B;&#x76D1;&#x63A7;SOC&#x76D1;&#x63A7;&#x5C31;&#x662F;&#x9694;&#x4E00;&#x6BB5;&#x65F6;&#x95F4;&#x5C31;&#x626B;&#x63CF;&#x4E00;&#x6B21;&#x72B6;&#x6001;&#xFF0C;&#x8D85;&#x9608;&#x503C;&#x5C31;&#x62A5;&#x8BCA;&#x65AD;&#x3002;</p>
</li>
</ul>
<h2 class="mume-header" id="2-%E7%8A%B6%E6%80%81%E8%BD%AC%E7%A7%BB">2 &#x72B6;&#x6001;&#x8F6C;&#x79FB;</h2>

<p><!--?xml version="1.0" encoding="UTF-8" standalone="no"?--><svg xmlns="http://www.w3.org/2000/svg" xlink="http://www.w3.org/1999/xlink" contentscripttype="application/ecmascript" contentstyletype="text/css" height="538px" preserveAspectRatio="none" style="width:597px;height:538px;background:#FFFFFF;" version="1.1" viewBox="0 0 597 538" width="597px" zoomAndPan="magnify"><defs/><g><rect fill="#FFFFFF" height="71.2656" style="stroke:#000000;stroke-width:1.0;" width="10" x="78" y="373.625"/><rect fill="#FFFFFF" height="71.2656" style="stroke:#000000;stroke-width:1.0;" width="10" x="237" y="273.2266"/><rect fill="#FFFFFF" height="217.9297" style="stroke:#000000;stroke-width:1.0;" width="438.5" x="15" y="234.9609"/><line style="stroke:#000000;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="83" x2="83" y1="36.2969" y2="170.8281"/><line style="stroke:#000000;stroke-width:1.0;stroke-dasharray:1.0,4.0;" x1="83" x2="83" y1="170.8281" y2="198.8281"/><line style="stroke:#000000;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="83" x2="83" y1="198.8281" y2="503.0234"/><line style="stroke:#000000;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="242" x2="242" y1="36.2969" y2="170.8281"/><line style="stroke:#000000;stroke-width:1.0;stroke-dasharray:1.0,4.0;" x1="242" x2="242" y1="170.8281" y2="198.8281"/><line style="stroke:#000000;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="242" x2="242" y1="198.8281" y2="503.0234"/><line style="stroke:#000000;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="400.5" x2="400.5" y1="36.2969" y2="170.8281"/><line style="stroke:#000000;stroke-width:1.0;stroke-dasharray:1.0,4.0;" x1="400.5" x2="400.5" y1="170.8281" y2="198.8281"/><line style="stroke:#000000;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="400.5" x2="400.5" y1="198.8281" y2="503.0234"/><rect fill="#FFFFFF" height="30.2969" style="stroke:#000000;stroke-width:1.0;" width="96" x="35" y="5"/><text fill="#000000" font-family="Verdana" font-size="14" lengthAdjust="spacing" textLength="82" x="42" y="24.9951">Normal_APP</text><rect fill="#FFFFFF" height="30.2969" style="stroke:#000000;stroke-width:1.0;" width="96" x="35" y="502.0234"/><text fill="#000000" font-family="Verdana" font-size="14" lengthAdjust="spacing" textLength="82" x="42" y="522.0186">Normal_APP</text><rect fill="#FFFFFF" height="30.2969" style="stroke:#000000;stroke-width:1.0;" width="114" x="185" y="5"/><text fill="#000000" font-family="Verdana" font-size="14" lengthAdjust="spacing" textLength="100" x="192" y="24.9951">Important_APP</text><rect fill="#FFFFFF" height="30.2969" style="stroke:#000000;stroke-width:1.0;" width="114" x="185" y="502.0234"/><text fill="#000000" font-family="Verdana" font-size="14" lengthAdjust="spacing" textLength="100" x="192" y="522.0186">Important_APP</text><rect fill="#FFFFFF" height="30.2969" style="stroke:#000000;stroke-width:1.0;" width="65" x="368.5" y="5"/><text fill="#000000" font-family="Verdana" font-size="14" lengthAdjust="spacing" textLength="51" x="375.5" y="24.9951">Sysmgr</text><rect fill="#FFFFFF" height="30.2969" style="stroke:#000000;stroke-width:1.0;" width="65" x="368.5" y="502.0234"/><text fill="#000000" font-family="Verdana" font-size="14" lengthAdjust="spacing" textLength="51" x="375.5" y="522.0186">Sysmgr</text><rect fill="#FFFFFF" height="71.2656" style="stroke:#000000;stroke-width:1.0;" width="10" x="78" y="373.625"/><rect fill="#FFFFFF" height="71.2656" style="stroke:#000000;stroke-width:1.0;" width="10" x="237" y="273.2266"/><polygon fill="#FFFFFF" points="389,51.2969,412,51.2969,422,62.2969,412,74.2969,389,74.2969,379,62.2969,389,51.2969" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Verdana" font-size="13" lengthAdjust="spacing" textLength="19" x="391" y="67.3638">Init</text><polygon fill="#000000" points="389,96.5625,399,100.5625,389,104.5625,393,100.5625" style="stroke:#000000;stroke-width:1.0;"/><line style="stroke:#000000;stroke-width:1.0;stroke-dasharray:2.0,2.0;" x1="83" x2="395" y1="100.5625" y2="100.5625"/><text fill="#000000" font-family="Verdana" font-size="13" lengthAdjust="spacing" textLength="47" x="90" y="95.4966">Registe</text><polygon fill="#000000" points="389,125.6953,399,129.6953,389,133.6953,393,129.6953" style="stroke:#000000;stroke-width:1.0;"/><line style="stroke:#000000;stroke-width:1.0;" x1="242" x2="395" y1="129.6953" y2="129.6953"/><text fill="#000000" font-family="Verdana" font-size="13" lengthAdjust="spacing" textLength="47" x="249" y="124.6294">Registe</text><polygon fill="#FFFFFF" points="375,142.6953,426,142.6953,436,153.6953,426,165.6953,375,165.6953,365,153.6953,375,142.6953" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Verdana" font-size="13" lengthAdjust="spacing" textLength="47" x="377" y="158.7622">Normal</text><polygon fill="#000000" points="412,215.9609,402,219.9609,412,223.9609,408,219.9609" style="stroke:#000000;stroke-width:1.0;"/><line style="stroke:#000000;stroke-width:1.0;" x1="406" x2="590" y1="219.9609" y2="219.9609"/><text fill="#000000" font-family="Verdana" font-size="13" lengthAdjust="spacing" textLength="166" x="418" y="214.895">Request Entry SomeState</text><path d="M15,234.9609 L154,234.9609 L154,241.9609 L144,251.9609 L15,251.9609 L15,234.9609 " fill="#FFFFFF" style="stroke:#000000;stroke-width:1.0;"/><rect fill="none" height="217.9297" style="stroke:#000000;stroke-width:1.0;" width="438.5" x="15" y="234.9609"/><text fill="#000000" font-family="Verdana" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="94" x="30" y="248.0278">Transit State</text><polygon fill="#000000" points="258,269.2266,248,273.2266,258,277.2266,254,273.2266" style="stroke:#000000;stroke-width:1.0;"/><line style="stroke:#000000;stroke-width:1.0;" x1="252" x2="400" y1="273.2266" y2="273.2266"/><text fill="#000000" font-family="Verdana" font-size="13" lengthAdjust="spacing" textLength="37" x="264" y="268.1606">Notify</text><text fill="#000000" font-family="Verdana" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="57" x="305" y="268.1606">Related</text><text fill="#000000" font-family="Verdana" font-size="13" lengthAdjust="spacing" textLength="32" x="366" y="268.1606">Apps</text><line style="stroke:#000000;stroke-width:1.0;" x1="247" x2="289" y1="302.3594" y2="302.3594"/><line style="stroke:#000000;stroke-width:1.0;" x1="289" x2="289" y1="302.3594" y2="315.3594"/><line style="stroke:#000000;stroke-width:1.0;" x1="248" x2="289" y1="315.3594" y2="315.3594"/><polygon fill="#000000" points="258,311.3594,248,315.3594,258,319.3594,254,315.3594" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Verdana" font-size="13" lengthAdjust="spacing" textLength="135" x="254" y="297.2935">Run CallbackFunction</text><polygon fill="#000000" points="389,340.4922,399,344.4922,389,348.4922,393,344.4922" style="stroke:#000000;stroke-width:1.0;"/><line style="stroke:#000000;stroke-width:1.0;" x1="242" x2="395" y1="344.4922" y2="344.4922"/><text fill="#000000" font-family="Verdana" font-size="13" lengthAdjust="spacing" textLength="89" x="249" y="339.4263">State Confirm</text><polygon fill="#000000" points="99,369.625,89,373.625,99,377.625,95,373.625" style="stroke:#000000;stroke-width:1.0;"/><line style="stroke:#000000;stroke-width:1.0;" x1="93" x2="400" y1="373.625" y2="373.625"/><text fill="#000000" font-family="Verdana" font-size="13" lengthAdjust="spacing" textLength="37" x="105" y="368.5591">Notify</text><text fill="#000000" font-family="Verdana" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="57" x="146" y="368.5591">Related</text><text fill="#000000" font-family="Verdana" font-size="13" lengthAdjust="spacing" textLength="32" x="207" y="368.5591">Apps</text><line style="stroke:#000000;stroke-width:1.0;" x1="88" x2="130" y1="402.7578" y2="402.7578"/><line style="stroke:#000000;stroke-width:1.0;" x1="130" x2="130" y1="402.7578" y2="415.7578"/><line style="stroke:#000000;stroke-width:1.0;" x1="89" x2="130" y1="415.7578" y2="415.7578"/><polygon fill="#000000" points="99,411.7578,89,415.7578,99,419.7578,95,415.7578" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Verdana" font-size="13" lengthAdjust="spacing" textLength="135" x="95" y="397.6919">Run CallbackFunction</text><polygon fill="#000000" points="389,440.8906,399,444.8906,389,448.8906,393,444.8906" style="stroke:#000000;stroke-width:1.0;"/><line style="stroke:#000000;stroke-width:1.0;" x1="83" x2="395" y1="444.8906" y2="444.8906"/><text fill="#000000" font-family="Verdana" font-size="13" lengthAdjust="spacing" textLength="89" x="90" y="439.8247">State Confirm</text><polygon fill="#FFFFFF" points="381,464.8906,420,464.8906,430,475.8906,420,487.8906,381,487.8906,371,475.8906,381,464.8906" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Verdana" font-size="13" lengthAdjust="spacing" textLength="35" x="383" y="480.9575">State</text><!--MD5=[c50bbe031e5bcb4344c7c4a72f599ffc]
@startuml
!theme plain
participant Normal_APP order 10
participant Important_APP order 20
participant Sysmgr order 30
hnote over Sysmgr:Init
Normal_APP- ->Sysmgr:Registe
Important_APP->Sysmgr:Registe
hnote over Sysmgr:Normal

...
Sysmgr <-:Request Entry SomeState
group Transit State

Sysmgr->Important_APP:Notify **Related** Apps
activate Important_APP
Important_APP->Important_APP:Run CallbackFunction
Important_APP->Sysmgr:State Confirm
deactivate Important_APP

Sysmgr->Normal_APP:Notify **Related** Apps
activate Normal_APP
Normal_APP->Normal_APP:Run CallbackFunction
Normal_APP->Sysmgr:State Confirm
deactivate Normal_APP
end
hnote over Sysmgr:State
@enduml

@startuml







<style>
  root {
    BackgroundColor white
    FontColor black
    FontName Verdana
    HyperLinkColor blue
    LineColor black
    LineThickness 1
    Margin 5
  }
  caption {
    LineThickness 0
  }
  footer {
    LineThickness 0
  }
  header {
    LineThickness 0
  }
  node {
    MaximumWidth 300
  }
  title {
    FontSize 22
    LineThickness 0
  }
</style>

skinparam ArrowLollipopColor black
skinparam BackgroundColor white
skinparam DefaultFontName Verdana
skinparam DefaultMonospacedFontName Courier
skinparam LifelineStrategy nosolid
skinparam ParticipantPadding 10
skinparam SequenceLifeLineBorderColor black
skinparam Shadowing false
skinparam UseBetaStyle true

skinparam Activity {
  BackgroundColor white
  BarColor black
  BorderColor black
  FontColor black
  FontName Verdana
}
skinparam Boundary {
  FontColor black
}
skinparam Box {
  Padding 5
}
skinparam CircledCharacter {
  FontColor black
  FontName Courier
  Radius 9
}
skinparam Class {
  BackgroundColor white
  BorderColor black
  FontColor black
  FontName Verdana
}
skinparam ClassAttribute {
  FontColor black
  FontName Verdana
}
skinparam ClassStereotype {
  FontColor black
  FontName Verdana
}
skinparam Footer {
  FontColor black
  FontName Verdana
}
skinparam Header {
  FontColor black
  FontName Verdana
}
skinparam Hyperlink {
  Color blue
}
skinparam IconPackage {
  Color black
  BackgroundColor white
}
skinparam IconPrivate {
  Color black
  BackgroundColor white
}
skinparam IconProtected {
  Color black
  BackgroundColor white
}
skinparam IconPublic {
  Color black
  BackgroundColor white
}
skinparam Note {
  FontColor black
  FontName Verdana
}
skinparam Package {
  BorderColor black
  FontColor black
  FontName Verdana
}
skinparam State {
  BackgroundColor white
  BorderColor black
}
skinparam StereotypeA {
  BackgroundColor white
  BorderColor black
}
skinparam StereotypeC {
  BackgroundColor white
  BorderColor black
}
skinparam StereotypeE {
  BackgroundColor white
  BorderColor black
}
skinparam StereotypeI {
  BackgroundColor white
  BorderColor black
}
skinparam StereotypeN {
  BackgroundColor white
  BorderColor black
}
skinparam UseCaseStereoType {
  FontColor black
  FontName Verdana
}
participant Normal_APP order 10
participant Important_APP order 20
participant Sysmgr order 30
hnote over Sysmgr:Init
Normal_APP- ->Sysmgr:Registe
Important_APP->Sysmgr:Registe
hnote over Sysmgr:Normal

...
Sysmgr <-:Request Entry SomeState
group Transit State

Sysmgr->Important_APP:Notify **Related** Apps
activate Important_APP
Important_APP->Important_APP:Run CallbackFunction
Important_APP->Sysmgr:State Confirm
deactivate Important_APP

Sysmgr->Normal_APP:Notify **Related** Apps
activate Normal_APP
Normal_APP->Normal_APP:Run CallbackFunction
Normal_APP->Sysmgr:State Confirm
deactivate Normal_APP
end
hnote over Sysmgr:State
@enduml

PlantUML version 1.2021.12(Wed Oct 06 00:01:58 CST 2021)
(GPL source distribution)
Java Runtime: OpenJDK Runtime Environment
JVM: OpenJDK 64-Bit Server VM
Default Encoding: UTF-8
Language: en
Country: US
--></g></svg></p><h2 class="mume-header" id="1-clibration-%E6%B5%81%E7%A8%8B">1 Clibration &#x6D41;&#x7A0B;</h2>

<p><!--?xml version="1.0" encoding="UTF-8" standalone="no"?--><svg xmlns="http://www.w3.org/2000/svg" xlink="http://www.w3.org/1999/xlink" contentscripttype="application/ecmascript" contentstyletype="text/css" height="674px" preserveAspectRatio="none" style="width:635px;height:674px;background:#FFFFFF;" version="1.1" viewBox="0 0 635 674" width="635px" zoomAndPan="magnify"><defs/><g><rect fill="#FFFFFF" height="343.5938" style="stroke:#000000;stroke-width:1.0;" width="614" x="15" y="144.6953"/><line style="stroke:#000000;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="59" x2="59" y1="36.2969" y2="638.8203"/><line style="stroke:#000000;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="243.5" x2="243.5" y1="36.2969" y2="638.8203"/><line style="stroke:#000000;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="468" x2="468" y1="36.2969" y2="638.8203"/><rect fill="#FFFFFF" height="30.2969" style="stroke:#000000;stroke-width:1.0;" width="48" x="35" y="5"/><text fill="#000000" font-family="Verdana" font-size="14" lengthAdjust="spacing" textLength="34" x="42" y="24.9951">Adas</text><rect fill="#FFFFFF" height="30.2969" style="stroke:#000000;stroke-width:1.0;" width="48" x="35" y="637.8203"/><text fill="#000000" font-family="Verdana" font-size="14" lengthAdjust="spacing" textLength="34" x="42" y="657.8154">Adas</text><rect fill="#FFFFFF" height="30.2969" style="stroke:#000000;stroke-width:1.0;" width="65" x="211.5" y="5"/><text fill="#000000" font-family="Verdana" font-size="14" lengthAdjust="spacing" textLength="51" x="218.5" y="24.9951">Sysmgr</text><rect fill="#FFFFFF" height="30.2969" style="stroke:#000000;stroke-width:1.0;" width="65" x="211.5" y="637.8203"/><text fill="#000000" font-family="Verdana" font-size="14" lengthAdjust="spacing" textLength="51" x="218.5" y="657.8154">Sysmgr</text><rect fill="#FFFFFF" height="30.2969" style="stroke:#000000;stroke-width:1.0;" width="46" x="445" y="5"/><text fill="#000000" font-family="Verdana" font-size="14" lengthAdjust="spacing" textLength="32" x="452" y="24.9951">MCU</text><rect fill="#FFFFFF" height="30.2969" style="stroke:#000000;stroke-width:1.0;" width="46" x="445" y="637.8203"/><text fill="#000000" font-family="Verdana" font-size="14" lengthAdjust="spacing" textLength="32" x="452" y="657.8154">MCU</text><polygon fill="#000000" points="232,63.4297,242,67.4297,232,71.4297,236,67.4297" style="stroke:#000000;stroke-width:1.0;"/><line style="stroke:#000000;stroke-width:1.0;" x1="59" x2="238" y1="67.4297" y2="67.4297"/><text fill="#000000" font-family="Verdana" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="9" x="66" y="62.3638">1</text><text fill="#000000" font-family="Verdana" font-size="13" lengthAdjust="spacing" textLength="47" x="79" y="62.3638">Registe</text><polygon fill="#FFFFFF" points="218,80.4297,269,80.4297,279,91.4297,269,103.4297,218,103.4297,208,91.4297,218,80.4297" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Verdana" font-size="13" lengthAdjust="spacing" textLength="47" x="220" y="96.4966">Normal</text><polygon fill="#000000" points="456,125.6953,466,129.6953,456,133.6953,460,129.6953" style="stroke:#000000;stroke-width:1.0;"/><line style="stroke:#000000;stroke-width:1.0;" x1="244" x2="462" y1="129.6953" y2="129.6953"/><text fill="#000000" font-family="Verdana" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="9" x="251" y="124.6294">2</text><text fill="#000000" font-family="Verdana" font-size="13" lengthAdjust="spacing" textLength="123" x="264" y="124.6294">Sned State Normal</text><path d="M15,144.6953 L131,144.6953 L131,151.6953 L121,161.6953 L15,161.6953 L15,144.6953 " fill="#FFFFFF" style="stroke:#000000;stroke-width:1.0;"/><rect fill="none" height="343.5938" style="stroke:#000000;stroke-width:1.0;" width="614" x="15" y="144.6953"/><text fill="#000000" font-family="Verdana" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="71" x="30" y="157.7622">Clibration</text><line style="stroke:#000000;stroke-width:1.0;" x1="468" x2="510" y1="182.9609" y2="182.9609"/><line style="stroke:#000000;stroke-width:1.0;" x1="510" x2="510" y1="182.9609" y2="195.9609"/><line style="stroke:#000000;stroke-width:1.0;" x1="469" x2="510" y1="195.9609" y2="195.9609"/><polygon fill="#000000" points="479,191.9609,469,195.9609,479,199.9609,475,195.9609" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Verdana" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="9" x="475" y="177.895">3</text><text fill="#000000" font-family="Verdana" font-size="13" lengthAdjust="spacing" textLength="129" x="488" y="177.895">Check Sysmgr state</text><polygon fill="#000000" points="255,221.0938,245,225.0938,255,229.0938,251,225.0938" style="stroke:#000000;stroke-width:1.0;"/><line style="stroke:#000000;stroke-width:1.0;" x1="249" x2="467" y1="225.0938" y2="225.0938"/><text fill="#000000" font-family="Verdana" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="9" x="261" y="220.0278">4</text><text fill="#000000" font-family="Verdana" font-size="13" lengthAdjust="spacing" textLength="103" x="274" y="220.0278">Request Normal</text><polygon fill="#FFFFFF" points="208,238.0938,280,238.0938,290,249.0938,280,261.0938,208,261.0938,198,249.0938,208,238.0938" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Verdana" font-size="13" lengthAdjust="spacing" textLength="68" x="210" y="254.1606">Calibration</text><polygon fill="#000000" points="456,283.3594,466,287.3594,456,291.3594,460,287.3594" style="stroke:#000000;stroke-width:1.0;"/><line style="stroke:#000000;stroke-width:1.0;" x1="244" x2="462" y1="287.3594" y2="287.3594"/><text fill="#000000" font-family="Verdana" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="9" x="251" y="282.2935">5</text><text fill="#000000" font-family="Verdana" font-size="13" lengthAdjust="spacing" textLength="136" x="264" y="282.2935">Send State Clibration</text><polygon fill="#000000" points="70,312.4922,60,316.4922,70,320.4922,66,316.4922" style="stroke:#000000;stroke-width:1.0;"/><line style="stroke:#000000;stroke-width:1.0;" x1="64" x2="243" y1="316.4922" y2="316.4922"/><text fill="#000000" font-family="Verdana" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="9" x="76" y="311.4263">6</text><text fill="#000000" font-family="Verdana" font-size="13" lengthAdjust="spacing" textLength="142" x="89" y="311.4263">Send Request to Adas</text><line style="stroke:#000000;stroke-width:1.0;" x1="59" x2="101" y1="345.625" y2="345.625"/><line style="stroke:#000000;stroke-width:1.0;" x1="101" x2="101" y1="345.625" y2="358.625"/><line style="stroke:#000000;stroke-width:1.0;" x1="60" x2="101" y1="358.625" y2="358.625"/><polygon fill="#000000" points="70,354.625,60,358.625,70,362.625,66,358.625" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Verdana" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="9" x="66" y="340.5591">7</text><text fill="#000000" font-family="Verdana" font-size="13" lengthAdjust="spacing" textLength="90" x="79" y="340.5591">Do Calibration</text><polygon fill="#000000" points="232,398.8906,242,402.8906,232,406.8906,236,402.8906" style="stroke:#000000;stroke-width:1.0;"/><line style="stroke:#000000;stroke-width:1.0;" x1="59" x2="238" y1="402.8906" y2="402.8906"/><text fill="#000000" font-family="Verdana" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="9" x="66" y="390.2583">8</text><text fill="#000000" font-family="Verdana" font-size="13" lengthAdjust="spacing" textLength="118" x="79" y="382.6919">J3B_adas_workflow</text><text fill="#000000" font-family="Verdana" font-size="13" lengthAdjust="spacing" textLength="148" x="79" y="397.8247">Send Calibration Result</text><polygon fill="#FFFFFF" points="186,415.8906,301,415.8906,311,426.8906,301,438.8906,186,438.8906,176,426.8906,186,415.8906" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Verdana" font-size="13" lengthAdjust="spacing" textLength="111" x="188" y="431.9575">Calibration_Finish</text><polygon fill="#000000" points="456,476.2891,466,480.2891,456,484.2891,460,480.2891" style="stroke:#000000;stroke-width:1.0;"/><line style="stroke:#000000;stroke-width:1.0;" x1="244" x2="462" y1="480.2891" y2="480.2891"/><text fill="#000000" font-family="Verdana" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="9" x="251" y="467.6567">9</text><text fill="#000000" font-family="Verdana" font-size="13" lengthAdjust="spacing" textLength="187" x="264" y="460.0903">Send State Calibration_Finish</text><text fill="#000000" font-family="Verdana" font-size="13" lengthAdjust="spacing" textLength="73" x="264" y="475.2231">with Restult</text><line style="stroke:#000000;stroke-width:1.0;" x1="59" x2="101" y1="516.4219" y2="516.4219"/><line style="stroke:#000000;stroke-width:1.0;" x1="101" x2="101" y1="516.4219" y2="529.4219"/><line style="stroke:#000000;stroke-width:1.0;" x1="60" x2="101" y1="529.4219" y2="529.4219"/><polygon fill="#000000" points="70,525.4219,60,529.4219,70,533.4219,66,529.4219" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Verdana" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="18" x="66" y="511.356">10</text><text fill="#000000" font-family="Verdana" font-size="13" lengthAdjust="spacing" textLength="46" x="88" y="511.356">Restart</text><polygon fill="#000000" points="232,554.5547,242,558.5547,232,562.5547,236,558.5547" style="stroke:#000000;stroke-width:1.0;"/><line style="stroke:#000000;stroke-width:1.0;" x1="59" x2="238" y1="558.5547" y2="558.5547"/><text fill="#000000" font-family="Verdana" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="18" x="66" y="553.4888">11</text><text fill="#000000" font-family="Verdana" font-size="13" lengthAdjust="spacing" textLength="47" x="88" y="553.4888">Registe</text><polygon fill="#FFFFFF" points="218,571.5547,269,571.5547,279,582.5547,269,594.5547,218,594.5547,208,582.5547,218,571.5547" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Verdana" font-size="13" lengthAdjust="spacing" textLength="47" x="220" y="587.6216">Normal</text><polygon fill="#000000" points="456,616.8203,466,620.8203,456,624.8203,460,620.8203" style="stroke:#000000;stroke-width:1.0;"/><line style="stroke:#000000;stroke-width:1.0;" x1="244" x2="462" y1="620.8203" y2="620.8203"/><text fill="#000000" font-family="Verdana" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="18" x="251" y="615.7544">12</text><text fill="#000000" font-family="Verdana" font-size="13" lengthAdjust="spacing" textLength="123" x="273" y="615.7544">Sned State Normal</text><!--MD5=[9061c50398c293f3143bdd476f64e2fd]
@startuml "statelfow"
!theme plain
autonumber
Adas->Sysmgr:Registe
hnote over Sysmgr:Normal
Sysmgr->MCU:Sned State Normal

group Clibration
MCU->MCU:Check Sysmgr state
MCU->Sysmgr:Request Normal
hnote over Sysmgr:Calibration
Sysmgr->MCU:Send State Clibration
Sysmgr->Adas:Send Request to Adas
Adas->Adas:Do Calibration
Adas->Sysmgr:J3B_adas_workflow\nSend Calibration Result
hnote over Sysmgr:Calibration_Finish
Sysmgr->MCU:Send State Calibration_Finish\nwith Restult
end
Adas->Adas:Restart
Adas->Sysmgr:Registe
hnote over Sysmgr:Normal
Sysmgr->MCU:Sned State Normal
@enduml

@startuml "statelfow"







<style>
  root {
    BackgroundColor white
    FontColor black
    FontName Verdana
    HyperLinkColor blue
    LineColor black
    LineThickness 1
    Margin 5
  }
  caption {
    LineThickness 0
  }
  footer {
    LineThickness 0
  }
  header {
    LineThickness 0
  }
  node {
    MaximumWidth 300
  }
  title {
    FontSize 22
    LineThickness 0
  }
</style>

skinparam ArrowLollipopColor black
skinparam BackgroundColor white
skinparam DefaultFontName Verdana
skinparam DefaultMonospacedFontName Courier
skinparam LifelineStrategy nosolid
skinparam ParticipantPadding 10
skinparam SequenceLifeLineBorderColor black
skinparam Shadowing false
skinparam UseBetaStyle true

skinparam Activity {
  BackgroundColor white
  BarColor black
  BorderColor black
  FontColor black
  FontName Verdana
}
skinparam Boundary {
  FontColor black
}
skinparam Box {
  Padding 5
}
skinparam CircledCharacter {
  FontColor black
  FontName Courier
  Radius 9
}
skinparam Class {
  BackgroundColor white
  BorderColor black
  FontColor black
  FontName Verdana
}
skinparam ClassAttribute {
  FontColor black
  FontName Verdana
}
skinparam ClassStereotype {
  FontColor black
  FontName Verdana
}
skinparam Footer {
  FontColor black
  FontName Verdana
}
skinparam Header {
  FontColor black
  FontName Verdana
}
skinparam Hyperlink {
  Color blue
}
skinparam IconPackage {
  Color black
  BackgroundColor white
}
skinparam IconPrivate {
  Color black
  BackgroundColor white
}
skinparam IconProtected {
  Color black
  BackgroundColor white
}
skinparam IconPublic {
  Color black
  BackgroundColor white
}
skinparam Note {
  FontColor black
  FontName Verdana
}
skinparam Package {
  BorderColor black
  FontColor black
  FontName Verdana
}
skinparam State {
  BackgroundColor white
  BorderColor black
}
skinparam StereotypeA {
  BackgroundColor white
  BorderColor black
}
skinparam StereotypeC {
  BackgroundColor white
  BorderColor black
}
skinparam StereotypeE {
  BackgroundColor white
  BorderColor black
}
skinparam StereotypeI {
  BackgroundColor white
  BorderColor black
}
skinparam StereotypeN {
  BackgroundColor white
  BorderColor black
}
skinparam UseCaseStereoType {
  FontColor black
  FontName Verdana
}
autonumber
Adas->Sysmgr:Registe
hnote over Sysmgr:Normal
Sysmgr->MCU:Sned State Normal

group Clibration
MCU->MCU:Check Sysmgr state
MCU->Sysmgr:Request Normal
hnote over Sysmgr:Calibration
Sysmgr->MCU:Send State Clibration
Sysmgr->Adas:Send Request to Adas
Adas->Adas:Do Calibration
Adas->Sysmgr:J3B_adas_workflow\nSend Calibration Result
hnote over Sysmgr:Calibration_Finish
Sysmgr->MCU:Send State Calibration_Finish\nwith Restult
end
Adas->Adas:Restart
Adas->Sysmgr:Registe
hnote over Sysmgr:Normal
Sysmgr->MCU:Sned State Normal
@enduml

PlantUML version 1.2021.12(Wed Oct 06 00:01:58 CST 2021)
(GPL source distribution)
Java Runtime: OpenJDK Runtime Environment
JVM: OpenJDK 64-Bit Server VM
Default Encoding: UTF-8
Language: en
Country: US
--></g></svg></p><ol>
<li>J3&#x4E0A;&#x7535;&#xFF0C;&#x72B6;&#x6001;&#x673A;&#x8FDB;&#x5165;init&#x72B6;&#x6001;&#x3002;ADAS&#x542F;&#x52A8;&#x5E76;&#x5411;&#x72B6;&#x6001;&#x673A;&#x53D1;&#x9001;&#x6CE8;&#x518C;&#x3002;</li>
<li>&#x72B6;&#x6001;&#x673A;&#x8FDB;&#x5165;Normal&#x72B6;&#x6001;&#xFF0C;&#x5E76;&#x53D1;&#x9001;Normal&#x72B6;&#x6001;&#x7ED9;MCU&#x3002;</li>
<li>MCU&#x63A5;&#x6536;&#x5230;UDS&#x8FDB;&#x5165;&#x6807;&#x5B9A;&#x547D;&#x4EE4;&#xFF0C;&#x7136;&#x540E;&#x68C0;&#x67E5;J3&#x72B6;&#x6001;&#xFF0C;&#x82E5;J3&#x672A;&#x5904;&#x4E8E;normal&#xFF0C;&#x5219;&#x6761;&#x4EF6;&#x4E0D;&#x6EE1;&#x8DB3;&#x3002;</li>
<li>&#x82E5;J3&#x5904;&#x4E8E;normal&#xFF0C;&#x53D1;&#x9001;&#x72B6;&#x6001;&#x5207;&#x6362;&#x62A5;&#x6587;&#x8BF7;&#x6C42;&#x8FDB;&#x5165;&#x6807;&#x5B9A;&#x72B6;&#x6001;</li>
<li>&#x901A;&#x77E5;APP&#x5F00;&#x59CB;&#x6807;&#x5B9A;</li>
<li>APP&#x56DE;&#x590D;&#x786E;&#x8BA4;&#x6807;&#x5B9A;</li>
<li>SysMgr&#x5C06;&#x7CFB;&#x7EDF;&#x72B6;&#x6001;&#x4ECE;Normal&#x5207;&#x6362;&#x4E3A;Camera_Onl_Calibration&#xFF0C;SysMgr&#x518D;&#x5C06;&#x72B6;&#x6001;&#xFF08;eg:Camera_Onl_Calibration&#xFF09;&#x56DE;&#x590D;&#x7ED9;MCU,MCU&#x53EF;&#x6839;&#x636E;&#x4E00;&#x5B9A;&#x65F6;&#x95F4;&#x5185;&#x662F;&#x5426;&#x6536;&#x5230;&#x72B6;&#x6001;&#x5207;&#x6362;&#x62A5;&#x6587;&#x6765;&#x5224;&#x65AD;&#x8BF7;&#x6C42;&#x6807;&#x5B9A;&#x7684;&#x6D88;&#x606F;&#x662F;&#x5426;&#x6B63;&#x786E;&#x9001;&#x8FBE;&#x3002;</li>
<li>&#x6807;&#x5B9A;&#x671F;&#x95F4;&#xFF0C;&#x4ECD;&#x7136;&#x4FDD;&#x6301;&#x5FC3;&#x8DF3;&#x901A;&#x4FE1;&#xFF0C;state&#x5BF9;&#x5E94;&#x4E3A;&#x6807;&#x5B9A;&#x72B6;&#x6001;&#x3002;</li>
<li>ADAS&#x6807;&#x5B9A;&#x7ED3;&#x675F;&#x540E;&#x5C06;&#x7ED3;&#x679C;&#x53D1;&#x9001;&#x7ED9;SysMgr&#xFF0C;&#x540C;&#x65F6;&#x901A;&#x77E5;SysMgr&#x5C06;&#x7CFB;&#x7EDF;&#x72B6;&#x6001;&#x4ECE;Camera_Onl_Calibration&#x5207;&#x6362;&#x81F3;Camera_Onl_Calibration_finish&#xFF0C;</li>
<li>SysMgr&#x4F1A;&#x628A;&#x72B6;&#x6001;&#x5207;&#x6362;&#x5230;Camera_Onl_Calibration_finish&#x72B6;&#x6001;,SysMgr&#x4F1A;&#x628A;Camera_. Onl_Calibration_finish&#x72B6;&#x6001;&#x4EE5;&#x53CA;&#x6807;&#x5B9A;&#x7ED3;&#x679C;&#x53D1;&#x7ED9;MCU&#xFF1B;. MCU&#x63A5;&#x6536;SOC&#x53D1;&#x9001;&#x7684;&#x6807;&#x5B9A;&#x7ED3;&#x679C;&#x62A5;&#x6587;&#xFF0C;&#x5224;&#x65AD;&#x6807;&#x5B9A;&#x7ED3;&#x679C;&#xFF1B;&#x82E5;&#x4E00;&#x5B9A;&#x65F6;&#x95F4;&#x5185;MCU&#x672A;&#x6536;&#x5230;&#x6807;&#x5B9A;&#x7ED3;&#x679C;&#xFF0C;&#x5219;&#x8BA4;&#x4E3A;&#x6807;&#x5B9A;&#x8D85;&#x65F6;&#x3002;</li>
<li>ADAS&#x6807;&#x5B9A;&#x5B8C;&#x6210;&#x540E;&#x91CD;&#x542F;</li>
<li>ADAS&#x91CD;&#x542F;&#x56DE;&#x5230;normal&#x72B6;&#x6001;&#xFF0C;&#x91CD;&#x65B0;&#x6CE8;&#x518C;&#xFF0C;SysMgr&#x5207;&#x6362;&#x5230;Normal&#x3002;</li>
</ol>
<h2 class="mume-header" id="2-ota-%E6%B5%81%E7%A8%8B">2 OTA &#x6D41;&#x7A0B;</h2>

<p><!--?xml version="1.0" encoding="UTF-8" standalone="no"?--><svg xmlns="http://www.w3.org/2000/svg" xlink="http://www.w3.org/1999/xlink" contentscripttype="application/ecmascript" contentstyletype="text/css" height="660px" preserveAspectRatio="none" style="width:743px;height:660px;background:#FFFFFF;" version="1.1" viewBox="0 0 743 660" width="743px" zoomAndPan="magnify"><defs/><g><rect fill="#FFFFFF" height="450.8594" style="stroke:#000000;stroke-width:1.0;" width="711.5" x="15" y="114.4297"/><rect fill="#FFFFFF" height="179.7969" style="stroke:#000000;stroke-width:1.0;" width="691.5" x="25" y="242.9609"/><rect fill="#FFFFFF" height="121.5313" style="stroke:#000000;stroke-width:1.0;" width="447.5" x="269" y="436.7578"/><line style="stroke:#000000;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="69" x2="69" y1="36.2969" y2="46.2969"/><line style="stroke:#000000;stroke-width:1.0;stroke-dasharray:1.0,4.0;" x1="69" x2="69" y1="46.2969" y2="74.2969"/><line style="stroke:#000000;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="69" x2="69" y1="74.2969" y2="625.4219"/><line style="stroke:#000000;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="321" x2="321" y1="36.2969" y2="46.2969"/><line style="stroke:#000000;stroke-width:1.0;stroke-dasharray:1.0,4.0;" x1="321" x2="321" y1="46.2969" y2="74.2969"/><line style="stroke:#000000;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="321" x2="321" y1="74.2969" y2="625.4219"/><line style="stroke:#000000;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="636.5" x2="636.5" y1="36.2969" y2="46.2969"/><line style="stroke:#000000;stroke-width:1.0;stroke-dasharray:1.0,4.0;" x1="636.5" x2="636.5" y1="46.2969" y2="74.2969"/><line style="stroke:#000000;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="636.5" x2="636.5" y1="74.2969" y2="625.4219"/><rect fill="#FFFFFF" height="30.2969" style="stroke:#000000;stroke-width:1.0;" width="49" x="45" y="5"/><text fill="#000000" font-family="Verdana" font-size="14" lengthAdjust="spacing" textLength="35" x="52" y="24.9951">APPs</text><rect fill="#FFFFFF" height="30.2969" style="stroke:#000000;stroke-width:1.0;" width="49" x="45" y="624.4219"/><text fill="#000000" font-family="Verdana" font-size="14" lengthAdjust="spacing" textLength="35" x="52" y="644.417">APPs</text><rect fill="#FFFFFF" height="30.2969" style="stroke:#000000;stroke-width:1.0;" width="65" x="289" y="5"/><text fill="#000000" font-family="Verdana" font-size="14" lengthAdjust="spacing" textLength="51" x="296" y="24.9951">Sysmgr</text><rect fill="#FFFFFF" height="30.2969" style="stroke:#000000;stroke-width:1.0;" width="65" x="289" y="624.4219"/><text fill="#000000" font-family="Verdana" font-size="14" lengthAdjust="spacing" textLength="51" x="296" y="644.417">Sysmgr</text><rect fill="#FFFFFF" height="30.2969" style="stroke:#000000;stroke-width:1.0;" width="88" x="592.5" y="5"/><text fill="#000000" font-family="Verdana" font-size="14" lengthAdjust="spacing" textLength="74" x="599.5" y="24.9951">OtaService</text><rect fill="#FFFFFF" height="30.2969" style="stroke:#000000;stroke-width:1.0;" width="88" x="592.5" y="624.4219"/><text fill="#000000" font-family="Verdana" font-size="14" lengthAdjust="spacing" textLength="74" x="599.5" y="644.417">OtaService</text><polygon fill="#FFFFFF" points="296,79.2969,347,79.2969,357,90.2969,347,102.2969,296,102.2969,286,90.2969,296,79.2969" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Verdana" font-size="13" lengthAdjust="spacing" textLength="47" x="298" y="95.3638">Normal</text><path d="M15,114.4297 L89,114.4297 L89,121.4297 L79,131.4297 L15,131.4297 L15,114.4297 " fill="#FFFFFF" style="stroke:#000000;stroke-width:1.0;"/><rect fill="none" height="450.8594" style="stroke:#000000;stroke-width:1.0;" width="711.5" x="15" y="114.4297"/><text fill="#000000" font-family="Verdana" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="29" x="30" y="127.4966">OTA</text><polygon fill="#000000" points="332.5,148.6953,322.5,152.6953,332.5,156.6953,328.5,152.6953" style="stroke:#000000;stroke-width:1.0;"/><line style="stroke:#000000;stroke-width:1.0;" x1="326.5" x2="635.5" y1="152.6953" y2="152.6953"/><text fill="#000000" font-family="Verdana" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="9" x="338.5" y="147.6294">1</text><text fill="#000000" font-family="Verdana" font-size="13" lengthAdjust="spacing" textLength="99" x="351.5" y="147.6294">Request to OTA</text><polygon fill="#FFFFFF" points="274,165.6953,368,165.6953,378,176.6953,368,188.6953,274,188.6953,264,176.6953,274,165.6953" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Verdana" font-size="13" lengthAdjust="spacing" textLength="90" x="276" y="181.7622">OTA_PREPARE</text><line style="stroke:#000000;stroke-width:1.0;" x1="321.5" x2="363.5" y1="214.9609" y2="214.9609"/><line style="stroke:#000000;stroke-width:1.0;" x1="363.5" x2="363.5" y1="214.9609" y2="227.9609"/><line style="stroke:#000000;stroke-width:1.0;" x1="322.5" x2="363.5" y1="227.9609" y2="227.9609"/><polygon fill="#000000" points="332.5,223.9609,322.5,227.9609,332.5,231.9609,328.5,227.9609" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Verdana" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="9" x="328.5" y="209.895">2</text><text fill="#000000" font-family="Verdana" font-size="13" lengthAdjust="spacing" textLength="89" x="341.5" y="209.895">Start 5s timer</text><path d="M25,242.9609 L168,242.9609 L168,249.9609 L158,259.9609 L25,259.9609 L25,242.9609 " fill="#FFFFFF" style="stroke:#000000;stroke-width:1.0;"/><rect fill="none" height="179.7969" style="stroke:#000000;stroke-width:1.0;" width="691.5" x="25" y="242.9609"/><text fill="#000000" font-family="Verdana" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="98" x="40" y="256.0278">Not Timeover</text><polygon fill="#000000" points="80.5,277.2266,70.5,281.2266,80.5,285.2266,76.5,281.2266" style="stroke:#000000;stroke-width:1.0;"/><line style="stroke:#000000;stroke-width:1.0;" x1="74.5" x2="320.5" y1="281.2266" y2="281.2266"/><text fill="#000000" font-family="Verdana" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="9" x="86.5" y="276.1606">3</text><text fill="#000000" font-family="Verdana" font-size="13" lengthAdjust="spacing" textLength="215" x="99.5" y="276.1606">Request to OTA,Call Ota_callback.</text><polygon fill="#000000" points="309.5,306.3594,319.5,310.3594,309.5,314.3594,313.5,310.3594" style="stroke:#000000;stroke-width:1.0;"/><line style="stroke:#000000;stroke-width:1.0;" x1="69.5" x2="315.5" y1="310.3594" y2="310.3594"/><text fill="#000000" font-family="Verdana" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="9" x="76.5" y="305.2935">4</text><text fill="#000000" font-family="Verdana" font-size="13" lengthAdjust="spacing" textLength="75" x="89.5" y="305.2935">Ota confirm</text><polygon fill="#FFFFFF" points="306,323.3594,336,323.3594,346,334.3594,336,346.3594,306,346.3594,296,334.3594,306,323.3594" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Verdana" font-size="13" lengthAdjust="spacing" textLength="26" x="308" y="339.4263">OTA</text><polygon fill="#000000" points="624.5,368.625,634.5,372.625,624.5,376.625,628.5,372.625" style="stroke:#000000;stroke-width:1.0;"/><line style="stroke:#000000;stroke-width:1.0;" x1="321.5" x2="630.5" y1="372.625" y2="372.625"/><text fill="#000000" font-family="Verdana" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="9" x="328.5" y="367.5591">5</text><text fill="#000000" font-family="Verdana" font-size="13" lengthAdjust="spacing" textLength="278" x="341.5" y="367.5591">confirm OTA state call the DO_OTA callbace</text><line style="stroke:#000000;stroke-width:1.0;" x1="636.5" x2="678.5" y1="401.7578" y2="401.7578"/><line style="stroke:#000000;stroke-width:1.0;" x1="678.5" x2="678.5" y1="401.7578" y2="414.7578"/><line style="stroke:#000000;stroke-width:1.0;" x1="637.5" x2="678.5" y1="414.7578" y2="414.7578"/><polygon fill="#000000" points="647.5,410.7578,637.5,414.7578,647.5,418.7578,643.5,414.7578" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Verdana" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="9" x="643.5" y="396.6919">6</text><text fill="#000000" font-family="Verdana" font-size="13" lengthAdjust="spacing" textLength="48" x="656.5" y="396.6919">Do OTA</text><path d="M269,436.7578 L403,436.7578 L403,443.7578 L393,453.7578 L269,453.7578 L269,436.7578 " fill="#FFFFFF" style="stroke:#000000;stroke-width:1.0;"/><rect fill="none" height="121.5313" style="stroke:#000000;stroke-width:1.0;" width="447.5" x="269" y="436.7578"/><text fill="#000000" font-family="Verdana" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="89" x="284" y="449.8247">Timeover 5s</text><polygon fill="#FFFFFF" points="306,458.8906,336,458.8906,346,469.8906,336,481.8906,306,481.8906,296,469.8906,306,458.8906" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Verdana" font-size="13" lengthAdjust="spacing" textLength="26" x="308" y="474.9575">OTA</text><polygon fill="#000000" points="624.5,504.1563,634.5,508.1563,624.5,512.1563,628.5,508.1563" style="stroke:#000000;stroke-width:1.0;"/><line style="stroke:#000000;stroke-width:1.0;" x1="321.5" x2="630.5" y1="508.1563" y2="508.1563"/><text fill="#000000" font-family="Verdana" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="9" x="328.5" y="503.0903">7</text><text fill="#000000" font-family="Verdana" font-size="13" lengthAdjust="spacing" textLength="278" x="341.5" y="503.0903">confirm OTA state call the DO_OTA callbace</text><line style="stroke:#000000;stroke-width:1.0;" x1="636.5" x2="678.5" y1="537.2891" y2="537.2891"/><line style="stroke:#000000;stroke-width:1.0;" x1="678.5" x2="678.5" y1="537.2891" y2="550.2891"/><line style="stroke:#000000;stroke-width:1.0;" x1="637.5" x2="678.5" y1="550.2891" y2="550.2891"/><polygon fill="#000000" points="647.5,546.2891,637.5,550.2891,647.5,554.2891,643.5,550.2891" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Verdana" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="9" x="643.5" y="532.2231">8</text><text fill="#000000" font-family="Verdana" font-size="13" lengthAdjust="spacing" textLength="48" x="656.5" y="532.2231">Do OTA</text><rect fill="#FFFFFF" height="3" style="stroke:#FFFFFF;stroke-width:1.0;" width="731.5" x="5" y="592.8555"/><line style="stroke:#000000;stroke-width:0.5;" x1="5" x2="736.5" y1="592.8555" y2="592.8555"/><line style="stroke:#000000;stroke-width:0.5;" x1="5" x2="736.5" y1="595.8555" y2="595.8555"/><rect fill="#FFFFFF" height="23.1328" style="stroke:#000000;stroke-width:1.0;" width="72" x="334.75" y="582.2891"/><text fill="#000000" font-family="Verdana" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="53" x="340.75" y="598.356">Reboot</text><!--MD5=[d60d215f03e2f637adc352a7d9280f07]
@startuml "statelfow"
!theme plain
autonumber
participant APPs order 10
participant Sysmgr order 20
participant OtaService order 30
...
hnote over Sysmgr:Normal
group OTA
OtaService->Sysmgr:Request to OTA
hnote over Sysmgr:OTA_PREPARE
Sysmgr->Sysmgr:Start 5s timer
group Not Timeover
Sysmgr->APPs:Request to OTA,Call Ota_callback.
APPs->Sysmgr:Ota confirm
hnote over Sysmgr:OTA
Sysmgr->OtaService:confirm OTA state call the DO_OTA callbace
OtaService->OtaService: Do OTA
end
group Timeover 5s

hnote over Sysmgr:OTA
Sysmgr->OtaService:confirm OTA state call the DO_OTA callbace
OtaService->OtaService: Do OTA
end
end
== Reboot ==
@enduml

@startuml "statelfow"







<style>
  root {
    BackgroundColor white
    FontColor black
    FontName Verdana
    HyperLinkColor blue
    LineColor black
    LineThickness 1
    Margin 5
  }
  caption {
    LineThickness 0
  }
  footer {
    LineThickness 0
  }
  header {
    LineThickness 0
  }
  node {
    MaximumWidth 300
  }
  title {
    FontSize 22
    LineThickness 0
  }
</style>

skinparam ArrowLollipopColor black
skinparam BackgroundColor white
skinparam DefaultFontName Verdana
skinparam DefaultMonospacedFontName Courier
skinparam LifelineStrategy nosolid
skinparam ParticipantPadding 10
skinparam SequenceLifeLineBorderColor black
skinparam Shadowing false
skinparam UseBetaStyle true

skinparam Activity {
  BackgroundColor white
  BarColor black
  BorderColor black
  FontColor black
  FontName Verdana
}
skinparam Boundary {
  FontColor black
}
skinparam Box {
  Padding 5
}
skinparam CircledCharacter {
  FontColor black
  FontName Courier
  Radius 9
}
skinparam Class {
  BackgroundColor white
  BorderColor black
  FontColor black
  FontName Verdana
}
skinparam ClassAttribute {
  FontColor black
  FontName Verdana
}
skinparam ClassStereotype {
  FontColor black
  FontName Verdana
}
skinparam Footer {
  FontColor black
  FontName Verdana
}
skinparam Header {
  FontColor black
  FontName Verdana
}
skinparam Hyperlink {
  Color blue
}
skinparam IconPackage {
  Color black
  BackgroundColor white
}
skinparam IconPrivate {
  Color black
  BackgroundColor white
}
skinparam IconProtected {
  Color black
  BackgroundColor white
}
skinparam IconPublic {
  Color black
  BackgroundColor white
}
skinparam Note {
  FontColor black
  FontName Verdana
}
skinparam Package {
  BorderColor black
  FontColor black
  FontName Verdana
}
skinparam State {
  BackgroundColor white
  BorderColor black
}
skinparam StereotypeA {
  BackgroundColor white
  BorderColor black
}
skinparam StereotypeC {
  BackgroundColor white
  BorderColor black
}
skinparam StereotypeE {
  BackgroundColor white
  BorderColor black
}
skinparam StereotypeI {
  BackgroundColor white
  BorderColor black
}
skinparam StereotypeN {
  BackgroundColor white
  BorderColor black
}
skinparam UseCaseStereoType {
  FontColor black
  FontName Verdana
}
autonumber
participant APPs order 10
participant Sysmgr order 20
participant OtaService order 30
...
hnote over Sysmgr:Normal
group OTA
OtaService->Sysmgr:Request to OTA
hnote over Sysmgr:OTA_PREPARE
Sysmgr->Sysmgr:Start 5s timer
group Not Timeover
Sysmgr->APPs:Request to OTA,Call Ota_callback.
APPs->Sysmgr:Ota confirm
hnote over Sysmgr:OTA
Sysmgr->OtaService:confirm OTA state call the DO_OTA callbace
OtaService->OtaService: Do OTA
end
group Timeover 5s

hnote over Sysmgr:OTA
Sysmgr->OtaService:confirm OTA state call the DO_OTA callbace
OtaService->OtaService: Do OTA
end
end
== Reboot ==
@enduml

PlantUML version 1.2021.12(Wed Oct 06 00:01:58 CST 2021)
(GPL source distribution)
Java Runtime: OpenJDK Runtime Environment
JVM: OpenJDK 64-Bit Server VM
Default Encoding: UTF-8
Language: en
Country: US
--></g></svg></p><ol start="0">
<li>&#x6240;&#x6709;App&#x5305;&#x62EC;OTAService&#x8C03;&#x7528;&#x72B6;&#x6001;&#x673A;&#x6CE8;&#x518C;&#x63A5;&#x53E3;&#x540E;&#xFF0C;&#x72B6;&#x6001;&#x673A;&#x8FDB;&#x5165;<strong>NORMAL</strong>&#x3002;</li>
<li>OtaService&#x5411;&#x72B6;&#x6001;&#x673A;&#x8BF7;&#x6C42;&#x8FDB;&#x5165;OTA&#x3002;&#x72B6;&#x6001;&#x673A;&#x5728;NORMAL&#x72B6;&#x6001;&#x6536;&#x5230;&#x8BF7;&#x6C42;&#xFF0C;&#x7ACB;&#x5373;&#x8FDB;&#x5165;<strong>OTA_PREPARE</strong>&#x72B6;&#x6001;</li>
<li>&#x72B6;&#x6001;&#x673A;&#x5728;&#x8FDB;&#x5165;<strong>OTA_PREPARE</strong>&#x540E;&#xFF0C;&#x4F1A;&#x5F00;&#x542F;&#x4E00;&#x4E2A;5s&#x7684;&#x8BA1;&#x65F6;&#x5668;&#x3002;</li>
<li>&#x72B6;&#x6001;&#x673A;&#x5411;&#x6240;&#x6709;&#x7684;APPs&#x53D1;&#x9001;&#x8FDB;&#x5165;OTA&#x8BF7;&#x6C42;&#xFF0C;&#x8C03;&#x7528;&#x5176;Ota_callback&#x56DE;&#x8C03;</li>
<li>&#x6240;&#x6709;APPs&#x5728;&#x51C6;&#x5907;&#x597D;&#x540E;&#xFF0C;&#x56DE;&#x590D;&#x72B6;&#x6001;&#x673A;confirm&#xFF0C;&#x72B6;&#x6001;&#x673A;&#x8FDB;&#x5165;<strong>OTA</strong>&#x72B6;&#x6001;&#x3002;</li>
<li>&#x72B6;&#x6001;&#x673A;&#x5411;OtaServce&#x786E;&#x8BA4;OTA&#x72B6;&#x6001;</li>
<li>OtaService&#x53CA;&#x5176;&#x76F8;&#x5173;&#x8FDB;&#x7A0B;&#x8FDB;&#x884C;OTA&#x5DE5;&#x4F5C;&#x3002;</li>
</ol>
<h2 class="mume-header" id="3-%E4%B8%8B%E7%94%B5%E6%B5%81%E7%A8%8B">3 &#x4E0B;&#x7535;&#x6D41;&#x7A0B;</h2>

<p><!--?xml version="1.0" encoding="UTF-8" standalone="no"?--><svg xmlns="http://www.w3.org/2000/svg" xlink="http://www.w3.org/1999/xlink" contentscripttype="application/ecmascript" contentstyletype="text/css" height="639px" preserveAspectRatio="none" style="width:660px;height:639px;background:#FFFFFF;" version="1.1" viewBox="0 0 660 639" width="660px" zoomAndPan="magnify"><defs/><g><rect fill="#FFFFFF" height="469.5313" style="stroke:#000000;stroke-width:1.0;" width="636.5" x="8" y="109.4297"/><rect fill="#ADD8E6" height="205.6016" style="stroke:#000000;stroke-width:1.0;" width="592.5" x="27" y="316.2266"/><rect fill="#FFC0CB" height="77.0703" style="stroke:none;stroke-width:1.0;" width="592.5" x="27" y="444.7578"/><line style="stroke:#000000;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="77.5" x2="77.5" y1="36.2969" y2="44.2969"/><line style="stroke:#000000;stroke-width:1.0;stroke-dasharray:1.0,4.0;" x1="77.5" x2="77.5" y1="44.2969" y2="72.2969"/><line style="stroke:#000000;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="77.5" x2="77.5" y1="72.2969" y2="602.9609"/><rect fill="#FFFFFF" height="115.3984" style="stroke:#000000;stroke-width:1.0;" width="10" x="72.5" y="262.0938"/><line style="stroke:#000000;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="444.5" x2="444.5" y1="36.2969" y2="44.2969"/><line style="stroke:#000000;stroke-width:1.0;stroke-dasharray:1.0,4.0;" x1="444.5" x2="444.5" y1="44.2969" y2="72.2969"/><line style="stroke:#000000;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="444.5" x2="444.5" y1="72.2969" y2="602.9609"/><rect fill="#FFFFFF" height="117.3984" style="stroke:#000000;stroke-width:1.0;" width="10" x="439.5" y="157.6953"/><rect fill="#FFFFFF" height="62.2656" style="stroke:#000000;stroke-width:1.0;" width="10" x="439.5" y="364.4922"/><line style="stroke:#000000;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="603.5" x2="603.5" y1="36.2969" y2="44.2969"/><line style="stroke:#000000;stroke-width:1.0;stroke-dasharray:1.0,4.0;" x1="603.5" x2="603.5" y1="44.2969" y2="72.2969"/><line style="stroke:#000000;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="603.5" x2="603.5" y1="72.2969" y2="602.9609"/><rect fill="#FFFFFF" height="30.2969" style="stroke:#000000;stroke-width:1.0;" width="49" x="53" y="5"/><text fill="#000000" font-family="Verdana" font-size="14" lengthAdjust="spacing" textLength="35" x="60" y="24.9951">APPs</text><rect fill="#FFFFFF" height="30.2969" style="stroke:#000000;stroke-width:1.0;" width="65" x="412" y="5"/><text fill="#000000" font-family="Verdana" font-size="14" lengthAdjust="spacing" textLength="51" x="419" y="24.9951">Sysmgr</text><rect fill="#FFFFFF" height="30.2969" style="stroke:#000000;stroke-width:1.0;" width="46" x="580.5" y="5"/><text fill="#000000" font-family="Verdana" font-size="14" lengthAdjust="spacing" textLength="32" x="587.5" y="24.9951">MCU</text><rect fill="#FFFFFF" height="30.2969" style="stroke:#000000;stroke-width:1.0;" width="49" x="53" y="602.9609"/><text fill="#000000" font-family="Verdana" font-size="14" lengthAdjust="spacing" textLength="35" x="60" y="622.9561">APPs</text><rect fill="#FFFFFF" height="30.2969" style="stroke:#000000;stroke-width:1.0;" width="65" x="412" y="602.9609"/><text fill="#000000" font-family="Verdana" font-size="14" lengthAdjust="spacing" textLength="51" x="419" y="622.9561">Sysmgr</text><rect fill="#FFFFFF" height="30.2969" style="stroke:#000000;stroke-width:1.0;" width="46" x="580.5" y="602.9609"/><text fill="#000000" font-family="Verdana" font-size="14" lengthAdjust="spacing" textLength="32" x="587.5" y="622.9561">MCU</text><polygon fill="#FFFFFF" points="400,77.2969,489,77.2969,499,88.2969,489,100.2969,400,100.2969,390,88.2969,400,77.2969" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Verdana" font-size="13" lengthAdjust="spacing" textLength="85" x="402" y="93.3638">SOME_STATE</text><path d="M8,109.4297 L126,109.4297 L126,116.4297 L116,126.4297 L8,126.4297 L8,109.4297 " fill="#FFFFFF" style="stroke:#000000;stroke-width:1.0;"/><rect fill="none" height="469.5313" style="stroke:#000000;stroke-width:1.0;" width="636.5" x="8" y="109.4297"/><text fill="#000000" font-family="Verdana" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="73" x="23" y="122.4966">Shutdown</text><polygon fill="#000000" points="460.5,153.6953,450.5,157.6953,460.5,161.6953,456.5,157.6953" style="stroke:#000000;stroke-width:1.0;"/><line style="stroke:#000000;stroke-width:1.0;" x1="454.5" x2="602.5" y1="157.6953" y2="157.6953"/><text fill="#000000" font-family="Verdana" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="9" x="466.5" y="152.6294">1</text><text fill="#000000" font-family="Verdana" font-size="13" lengthAdjust="spacing" textLength="117" x="479.5" y="152.6294">Request power_off</text><line style="stroke:#000000;stroke-width:1.0;" x1="449.5" x2="491.5" y1="186.8281" y2="186.8281"/><line style="stroke:#000000;stroke-width:1.0;" x1="491.5" x2="491.5" y1="186.8281" y2="199.8281"/><line style="stroke:#000000;stroke-width:1.0;" x1="450.5" x2="491.5" y1="199.8281" y2="199.8281"/><polygon fill="#000000" points="460.5,195.8281,450.5,199.8281,460.5,203.8281,456.5,199.8281" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Verdana" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="9" x="456.5" y="181.7622">2</text><text fill="#000000" font-family="Verdana" font-size="13" lengthAdjust="spacing" textLength="55" x="469.5" y="181.7622">5s Timer</text><polygon fill="#FFFFFF" points="409,212.8281,480,212.8281,490,223.8281,480,235.8281,409,235.8281,399,223.8281,409,212.8281" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Verdana" font-size="13" lengthAdjust="spacing" textLength="67" x="411" y="228.895">AFTERRUN</text><polygon fill="#000000" points="93.5,258.0938,83.5,262.0938,93.5,266.0938,89.5,262.0938" style="stroke:#000000;stroke-width:1.0;"/><line style="stroke:#000000;stroke-width:1.0;" x1="87.5" x2="438.5" y1="262.0938" y2="262.0938"/><text fill="#000000" font-family="Verdana" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="9" x="99.5" y="257.0278">3</text><text fill="#000000" font-family="Verdana" font-size="13" lengthAdjust="spacing" textLength="320" x="112.5" y="257.0278">Request to SHUTDOWN,Call SHUTDOWN_callback.</text><line style="stroke:#000000;stroke-width:1.0;" x1="82.5" x2="124.5" y1="291.2266" y2="291.2266"/><line style="stroke:#000000;stroke-width:1.0;" x1="124.5" x2="124.5" y1="291.2266" y2="304.2266"/><line style="stroke:#000000;stroke-width:1.0;" x1="83.5" x2="124.5" y1="304.2266" y2="304.2266"/><line style="stroke:#000000;stroke-width:1.0;" x1="83.5" x2="93.5" y1="304.2266" y2="300.2266"/><line style="stroke:#000000;stroke-width:1.0;" x1="83.5" x2="93.5" y1="304.2266" y2="308.2266"/><text fill="#000000" font-family="Verdana" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="9" x="89.5" y="286.1606">4</text><text fill="#000000" font-family="Verdana" font-size="13" lengthAdjust="spacing" textLength="117" x="102.5" y="286.1606">Prepare Shutdown</text><path d="M27,316.2266 L170,316.2266 L170,323.2266 L160,333.2266 L27,333.2266 L27,316.2266 " fill="#FFFFFF" style="stroke:#000000;stroke-width:1.0;"/><rect fill="none" height="205.6016" style="stroke:#000000;stroke-width:1.0;" width="592.5" x="27" y="316.2266"/><text fill="#000000" font-family="Verdana" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="98" x="42" y="329.2935">Not Timeover</text><line style="stroke:#000000;stroke-width:1.0;stroke-dasharray:2.0,2.0;" x1="27" x2="619.5" y1="445.7578" y2="445.7578"/><text fill="#000000" font-family="Verdana" font-size="11" font-weight="bold" lengthAdjust="spacing" textLength="88" x="32" y="455.9683">[Timeover 5s]</text><polygon fill="#000000" points="427.5,360.4922,437.5,364.4922,427.5,368.4922,431.5,364.4922" style="stroke:#000000;stroke-width:1.0;"/><line style="stroke:#000000;stroke-width:1.0;" x1="82.5" x2="433.5" y1="364.4922" y2="364.4922"/><text fill="#000000" font-family="Verdana" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="9" x="89.5" y="359.4263">5</text><text fill="#000000" font-family="Verdana" font-size="13" lengthAdjust="spacing" textLength="113" x="102.5" y="359.4263">shutdown confirm</text><polygon fill="#FFFFFF" points="404,377.4922,485,377.4922,495,388.4922,485,400.4922,404,400.4922,394,388.4922,404,377.4922" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Verdana" font-size="13" lengthAdjust="spacing" textLength="77" x="406" y="393.5591">SHUTDOWN</text><polygon fill="#000000" points="591.5,422.7578,601.5,426.7578,591.5,430.7578,595.5,426.7578" style="stroke:#000000;stroke-width:1.0;"/><line style="stroke:#000000;stroke-width:1.0;" x1="449.5" x2="597.5" y1="426.7578" y2="426.7578"/><text fill="#000000" font-family="Verdana" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="9" x="456.5" y="421.6919">6</text><text fill="#000000" font-family="Verdana" font-size="13" lengthAdjust="spacing" textLength="113" x="469.5" y="421.6919">power_off confirm</text><polygon fill="#FFFFFF" points="404,464.5625,485,464.5625,495,475.5625,485,487.5625,404,487.5625,394,475.5625,404,464.5625" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Verdana" font-size="13" lengthAdjust="spacing" textLength="77" x="406" y="480.6294">SHUTDOWN</text><polygon fill="#000000" points="591.5,509.8281,601.5,513.8281,591.5,517.8281,595.5,513.8281" style="stroke:#000000;stroke-width:1.0;"/><line style="stroke:#000000;stroke-width:1.0;" x1="444.5" x2="597.5" y1="513.8281" y2="513.8281"/><text fill="#000000" font-family="Verdana" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="9" x="451.5" y="508.7622">7</text><text fill="#000000" font-family="Verdana" font-size="13" lengthAdjust="spacing" textLength="113" x="464.5" y="508.7622">shutdown confirm</text><rect fill="#FFFFFF" height="3" style="stroke:#FFFFFF;stroke-width:1.0;" width="648.5" x="5" y="556.3945"/><line style="stroke:#000000;stroke-width:0.5;" x1="5" x2="653.5" y1="556.3945" y2="556.3945"/><line style="stroke:#000000;stroke-width:0.5;" x1="5" x2="653.5" y1="559.3945" y2="559.3945"/><rect fill="#FFFFFF" height="23.1328" style="stroke:#000000;stroke-width:1.0;" width="88" x="285.25" y="545.8281"/><text fill="#000000" font-family="Verdana" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="74" x="291.25" y="561.895">Power Off</text><!--MD5=[2c84a1f3877b38f5d009f9bfc8daad6c]
@startuml "statelfow"
!theme plain
autonumber
!pragma teoz true
participant MCU order 40
participant Sysmgr order 30
participant APPs order 10
...
hnote over Sysmgr:SOME_STATE
group Shutdown
{start} MCU->Sysmgr:Request power_off
activate Sysmgr
Sysmgr->Sysmgr:5s Timer
hnote over Sysmgr:AFTERRUN
Sysmgr->APPs:Request to SHUTDOWN,Call SHUTDOWN_callback.
activate APPs
deactivate Sysmgr
APPs->>APPs:Prepare Shutdown
group #LightBlue Not Timeover
APPs->Sysmgr:shutdown confirm
activate Sysmgr
deactivate APPs
hnote over Sysmgr:SHUTDOWN
{end} Sysmgr->MCU:power_off confirm
deactivate Sysmgr
else #pink Timeover 5s
hnote over Sysmgr:SHUTDOWN
Sysmgr->MCU:shutdown confirm
end

==Power Off==

@enduml

@startuml "statelfow"







<style>
  root {
    BackgroundColor white
    FontColor black
    FontName Verdana
    HyperLinkColor blue
    LineColor black
    LineThickness 1
    Margin 5
  }
  caption {
    LineThickness 0
  }
  footer {
    LineThickness 0
  }
  header {
    LineThickness 0
  }
  node {
    MaximumWidth 300
  }
  title {
    FontSize 22
    LineThickness 0
  }
</style>

skinparam ArrowLollipopColor black
skinparam BackgroundColor white
skinparam DefaultFontName Verdana
skinparam DefaultMonospacedFontName Courier
skinparam LifelineStrategy nosolid
skinparam ParticipantPadding 10
skinparam SequenceLifeLineBorderColor black
skinparam Shadowing false
skinparam UseBetaStyle true

skinparam Activity {
  BackgroundColor white
  BarColor black
  BorderColor black
  FontColor black
  FontName Verdana
}
skinparam Boundary {
  FontColor black
}
skinparam Box {
  Padding 5
}
skinparam CircledCharacter {
  FontColor black
  FontName Courier
  Radius 9
}
skinparam Class {
  BackgroundColor white
  BorderColor black
  FontColor black
  FontName Verdana
}
skinparam ClassAttribute {
  FontColor black
  FontName Verdana
}
skinparam ClassStereotype {
  FontColor black
  FontName Verdana
}
skinparam Footer {
  FontColor black
  FontName Verdana
}
skinparam Header {
  FontColor black
  FontName Verdana
}
skinparam Hyperlink {
  Color blue
}
skinparam IconPackage {
  Color black
  BackgroundColor white
}
skinparam IconPrivate {
  Color black
  BackgroundColor white
}
skinparam IconProtected {
  Color black
  BackgroundColor white
}
skinparam IconPublic {
  Color black
  BackgroundColor white
}
skinparam Note {
  FontColor black
  FontName Verdana
}
skinparam Package {
  BorderColor black
  FontColor black
  FontName Verdana
}
skinparam State {
  BackgroundColor white
  BorderColor black
}
skinparam StereotypeA {
  BackgroundColor white
  BorderColor black
}
skinparam StereotypeC {
  BackgroundColor white
  BorderColor black
}
skinparam StereotypeE {
  BackgroundColor white
  BorderColor black
}
skinparam StereotypeI {
  BackgroundColor white
  BorderColor black
}
skinparam StereotypeN {
  BackgroundColor white
  BorderColor black
}
skinparam UseCaseStereoType {
  FontColor black
  FontName Verdana
}
autonumber
!pragma teoz true
participant MCU order 40
participant Sysmgr order 30
participant APPs order 10
...
hnote over Sysmgr:SOME_STATE
group Shutdown
{start} MCU->Sysmgr:Request power_off
activate Sysmgr
Sysmgr->Sysmgr:5s Timer
hnote over Sysmgr:AFTERRUN
Sysmgr->APPs:Request to SHUTDOWN,Call SHUTDOWN_callback.
activate APPs
deactivate Sysmgr
APPs->>APPs:Prepare Shutdown
group #LightBlue Not Timeover
APPs->Sysmgr:shutdown confirm
activate Sysmgr
deactivate APPs
hnote over Sysmgr:SHUTDOWN
{end} Sysmgr->MCU:power_off confirm
deactivate Sysmgr
else #pink Timeover 5s
hnote over Sysmgr:SHUTDOWN
Sysmgr->MCU:shutdown confirm
end

==Power Off==

@enduml

PlantUML version 1.2021.12(Wed Oct 06 00:01:58 CST 2021)
(GPL source distribution)
Java Runtime: OpenJDK Runtime Environment
JVM: OpenJDK 64-Bit Server VM
Default Encoding: UTF-8
Language: en
Country: US
--></g></svg></p><ol>
<li>&#x5728;<strong>NORMAL</strong>&#xFF0C;<strong>INIT</strong>&#xFF0C;<strong>SYS_FAYLT</strong>&#x72B6;&#x6001;&#x4E0B;&#xFF0C;MCU&#x5411;&#x72B6;&#x6001;&#x673A;&#x8BF7;&#x6C42;&#x4E0B;&#x7535;&#x3002;</li>
<li>&#x72B6;&#x6001;&#x673A;&#x63A5;&#x6536;&#x5230;&#x8BF7;&#x6C42;&#x540E;&#xFF0C;&#x7ACB;&#x5373;&#x8FDB;&#x5165;AFTERRUN&#x72B6;&#x6001;&#xFF0C;&#x5E76;&#x5F00;&#x542F;&#x4E00;&#x4E2A;5s&#x8BA1;&#x65F6;&#x5668;&#x3002;</li>
<li>&#x72B6;&#x6001;&#x673A;&#x5411;APPs&#x53D1;&#x9001;&#x4E0B;&#x7535;&#x8BF7;&#x6C42;&#xFF0C;&#x5E76;&#x8C03;&#x7528;<strong>shutdown_callback</strong></li>
<li>&#x5404;APP&#x5B8C;&#x6210;&#x4E0B;&#x7535;&#x5DE5;&#x4F5C;&#x540E;&#xFF0C;&#x5411;&#x72B6;&#x6001;&#x673A;&#x786E;&#x8BA4;&#x4E0B;&#x7535;&#x3002;</li>
<li>&#x72B6;&#x6001;&#x673A;&#x5728;&#x6536;&#x5230;&#x6240;&#x6709;&#x4E0B;&#x7535;&#x786E;&#x8BA4;&#x540E;&#xFF0C;&#x5207;&#x6362;&#x5230;<strong>SHUTDOWN</strong>&#x72B6;&#x6001;&#xFF0C;&#x5E76;&#x5411;MUC&#x786E;&#x8BA4;&#x4E0B;&#x7535;&#x3002;</li>
<li>&#x5728;&#x8D85;&#x65F6;&#x60C5;&#x51B5;&#x4E0B;&#xFF0C;&#x72B6;&#x6001;&#x673A;&#x5F00;&#x542F;&#x7684;5s&#x8BA1;&#x65F6;&#x5668;&#x4F1A;&#x5F3A;&#x884C;&#x5C06;&#x72B6;&#x6001;&#x5207;&#x6362;&#x5230;<strong>SHUTDOWN</strong>&#x72B6;&#x6001;&#x3002;&#x5E76;&#x5411;MCU&#x786E;&#x8BA4;&#x4E0B;&#x7535;&#x3002;</li>
</ol>
<h2 class="mume-header" id="json">Json</h2>

<p><!--?xml version="1.0" encoding="UTF-8" standalone="no"?--><svg xmlns="http://www.w3.org/2000/svg" xlink="http://www.w3.org/1999/xlink" contentscripttype="application/ecmascript" contentstyletype="text/css" height="905px" preserveAspectRatio="none" style="width:1431px;height:905px;background:#FFFFFF;" version="1.1" viewBox="0 0 1431 905" width="1431px" zoomAndPan="magnify"><defs/><g><rect fill="#FEFECE" height="101.4844" rx="5" ry="5" style="stroke:#FEFECE;stroke-width:1.5;" width="305" x="10" y="289.5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="68" x="15" y="304.4951">watchdog</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="0" x="172" y="304.4951"/><line style="stroke:#A80036;stroke-width:1.0;" x1="155" x2="155" y1="289.5" y2="309.7969"/><line style="stroke:#A80036;stroke-width:1.0;" x1="10" x2="315" y1="309.7969" y2="309.7969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="82" x="15" y="324.792">state_signal</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="0" x="172" y="324.792"/><line style="stroke:#A80036;stroke-width:1.0;" x1="155" x2="155" y1="309.7969" y2="330.0938"/><line style="stroke:#A80036;stroke-width:1.0;" x1="10" x2="315" y1="330.0938" y2="330.0938"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="35" x="15" y="345.0889">state</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="0" x="172" y="345.0889"/><line style="stroke:#A80036;stroke-width:1.0;" x1="155" x2="155" y1="330.0938" y2="350.3906"/><line style="stroke:#A80036;stroke-width:1.0;" x1="10" x2="315" y1="350.3906" y2="350.3906"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="135" x="15" y="365.3857">SOC_function_Apps</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="0" x="172" y="365.3857"/><line style="stroke:#A80036;stroke-width:1.0;" x1="155" x2="155" y1="350.3906" y2="370.6875"/><line style="stroke:#A80036;stroke-width:1.0;" x1="10" x2="315" y1="370.6875" y2="370.6875"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="56" x="15" y="385.6826">db_path</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="150" x="160" y="385.6826">/tmp/local_sysmgr_db</text><line style="stroke:#A80036;stroke-width:1.0;" x1="155" x2="155" y1="370.6875" y2="390.9844"/><rect fill="none" height="101.4844" rx="5" ry="5" style="stroke:#A80036;stroke-width:1.5;" width="305" x="10" y="289.5"/><rect fill="#FEFECE" height="40.5938" rx="5" ry="5" style="stroke:#FEFECE;stroke-width:1.5;" width="143" x="352" y="84.5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="87" x="357" y="99.4951">error_handle</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="36" x="454" y="99.4951">none</text><line style="stroke:#A80036;stroke-width:1.0;" x1="449" x2="449" y1="84.5" y2="104.7969"/><line style="stroke:#A80036;stroke-width:1.0;" x1="352" x2="495" y1="104.7969" y2="104.7969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="86" x="357" y="119.792">app_monitor</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="0" x="466" y="119.792"/><line style="stroke:#A80036;stroke-width:1.0;" x1="449" x2="449" y1="104.7969" y2="125.0938"/><rect fill="none" height="40.5938" rx="5" ry="5" style="stroke:#A80036;stroke-width:1.5;" width="143" x="352" y="84.5"/><rect fill="#FEFECE" height="20.2969" rx="5" ry="5" style="stroke:#FEFECE;stroke-width:1.5;" width="22" x="632" y="61"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="0" x="649" y="75.9951"/><rect fill="none" height="20.2969" rx="5" ry="5" style="stroke:#A80036;stroke-width:1.5;" width="22" x="632" y="61"/><rect fill="#FEFECE" height="121.7813" rx="5" ry="5" style="stroke:#FEFECE;stroke-width:1.5;" width="504" x="793" y="10"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="77" x="798" y="24.9951">proc_name</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="307" x="985" y="24.9951">/mnt/adas/adas-rt/hobot-adas-workflow.post</text><line style="stroke:#A80036;stroke-width:1.0;" x1="980" x2="980" y1="10" y2="30.2969"/><line style="stroke:#A80036;stroke-width:1.0;" x1="793" x2="1297" y1="30.2969" y2="30.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="160" x="798" y="45.292">cpu_high_load_percent</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="18" x="985" y="45.292">80</text><line style="stroke:#A80036;stroke-width:1.0;" x1="980" x2="980" y1="30.2969" y2="50.5938"/><line style="stroke:#A80036;stroke-width:1.0;" x1="793" x2="1297" y1="50.5938" y2="50.5938"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="177" x="798" y="65.5889">cpu_normal_load_percent</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="18" x="985" y="65.5889">60</text><line style="stroke:#A80036;stroke-width:1.0;" x1="980" x2="980" y1="50.5938" y2="70.8906"/><line style="stroke:#A80036;stroke-width:1.0;" x1="793" x2="1297" y1="70.8906" y2="70.8906"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="158" x="798" y="85.8857">memory_high_load_MB</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="36" x="985" y="85.8857">1600</text><line style="stroke:#A80036;stroke-width:1.0;" x1="980" x2="980" y1="70.8906" y2="91.1875"/><line style="stroke:#A80036;stroke-width:1.0;" x1="793" x2="1297" y1="91.1875" y2="91.1875"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="175" x="798" y="106.1826">memory_normal_load_MB</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="36" x="985" y="106.1826">1500</text><line style="stroke:#A80036;stroke-width:1.0;" x1="980" x2="980" y1="91.1875" y2="111.4844"/><line style="stroke:#A80036;stroke-width:1.0;" x1="793" x2="1297" y1="111.4844" y2="111.4844"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="51" x="798" y="126.4795">domain</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="38" x="985" y="126.4795">ADAS</text><line style="stroke:#A80036;stroke-width:1.0;" x1="980" x2="980" y1="111.4844" y2="131.7813"/><rect fill="none" height="121.7813" rx="5" ry="5" style="stroke:#A80036;stroke-width:1.5;" width="504" x="793" y="10"/><rect fill="#FEFECE" height="81.1875" rx="5" ry="5" style="stroke:#FEFECE;stroke-width:1.5;" width="22" x="411.5" y="187.5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="0" x="428.5" y="202.4951"/><line style="stroke:#A80036;stroke-width:1.0;" x1="411.5" x2="433.5" y1="207.7969" y2="207.7969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="0" x="428.5" y="222.792"/><line style="stroke:#A80036;stroke-width:1.0;" x1="411.5" x2="433.5" y1="228.0938" y2="228.0938"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="0" x="428.5" y="243.0889"/><line style="stroke:#A80036;stroke-width:1.0;" x1="411.5" x2="433.5" y1="248.3906" y2="248.3906"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="0" x="428.5" y="263.3857"/><rect fill="none" height="81.1875" rx="5" ry="5" style="stroke:#A80036;stroke-width:1.5;" width="22" x="411.5" y="187.5"/><rect fill="#FEFECE" height="40.5938" rx="5" ry="5" style="stroke:#FEFECE;stroke-width:1.5;" width="131" x="578.5" y="99.5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="86" x="583.5" y="114.4951">signal_name</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="25" x="679.5" y="114.4951">INIT</text><line style="stroke:#A80036;stroke-width:1.0;" x1="674.5" x2="674.5" y1="99.5" y2="119.7969"/><line style="stroke:#A80036;stroke-width:1.0;" x1="578.5" x2="709.5" y1="119.7969" y2="119.7969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="36" x="583.5" y="134.792">value</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="9" x="679.5" y="134.792">0</text><line style="stroke:#A80036;stroke-width:1.0;" x1="674.5" x2="674.5" y1="119.7969" y2="140.0938"/><rect fill="none" height="40.5938" rx="5" ry="5" style="stroke:#A80036;stroke-width:1.5;" width="131" x="578.5" y="99.5"/><rect fill="#FEFECE" height="40.5938" rx="5" ry="5" style="stroke:#FEFECE;stroke-width:1.5;" width="165" x="561.5" y="158.5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="86" x="566.5" y="173.4951">signal_name</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="59" x="662.5" y="173.4951">NORMAL</text><line style="stroke:#A80036;stroke-width:1.0;" x1="657.5" x2="657.5" y1="158.5" y2="178.7969"/><line style="stroke:#A80036;stroke-width:1.0;" x1="561.5" x2="726.5" y1="178.7969" y2="178.7969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="36" x="566.5" y="193.792">value</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="9" x="662.5" y="193.792">1</text><line style="stroke:#A80036;stroke-width:1.0;" x1="657.5" x2="657.5" y1="178.7969" y2="199.0938"/><rect fill="none" height="40.5938" rx="5" ry="5" style="stroke:#A80036;stroke-width:1.5;" width="165" x="561.5" y="158.5"/><rect fill="#FEFECE" height="40.5938" rx="5" ry="5" style="stroke:#FEFECE;stroke-width:1.5;" width="224" x="532" y="217.5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="86" x="537" y="232.4951">signal_name</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="118" x="633" y="232.4951">PRE_SHUTDOWN</text><line style="stroke:#A80036;stroke-width:1.0;" x1="628" x2="628" y1="217.5" y2="237.7969"/><line style="stroke:#A80036;stroke-width:1.0;" x1="532" x2="756" y1="237.7969" y2="237.7969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="36" x="537" y="252.792">value</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="9" x="633" y="252.792">2</text><line style="stroke:#A80036;stroke-width:1.0;" x1="628" x2="628" y1="237.7969" y2="258.0938"/><rect fill="none" height="40.5938" rx="5" ry="5" style="stroke:#A80036;stroke-width:1.5;" width="224" x="532" y="217.5"/><rect fill="#FEFECE" height="40.5938" rx="5" ry="5" style="stroke:#FEFECE;stroke-width:1.5;" width="189" x="549.5" y="276.5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="86" x="554.5" y="291.4951">signal_name</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="83" x="650.5" y="291.4951">SHUTDOWN</text><line style="stroke:#A80036;stroke-width:1.0;" x1="645.5" x2="645.5" y1="276.5" y2="296.7969"/><line style="stroke:#A80036;stroke-width:1.0;" x1="549.5" x2="738.5" y1="296.7969" y2="296.7969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="36" x="554.5" y="311.792">value</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="9" x="650.5" y="311.792">3</text><line style="stroke:#A80036;stroke-width:1.0;" x1="645.5" x2="645.5" y1="296.7969" y2="317.0938"/><rect fill="none" height="40.5938" rx="5" ry="5" style="stroke:#A80036;stroke-width:1.5;" width="189" x="549.5" y="276.5"/><rect fill="#FEFECE" height="81.1875" rx="5" ry="5" style="stroke:#FEFECE;stroke-width:1.5;" width="22" x="411.5" y="390.5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="0" x="428.5" y="405.4951"/><line style="stroke:#A80036;stroke-width:1.0;" x1="411.5" x2="433.5" y1="410.7969" y2="410.7969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="0" x="428.5" y="425.792"/><line style="stroke:#A80036;stroke-width:1.0;" x1="411.5" x2="433.5" y1="431.0938" y2="431.0938"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="0" x="428.5" y="446.0889"/><line style="stroke:#A80036;stroke-width:1.0;" x1="411.5" x2="433.5" y1="451.3906" y2="451.3906"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="0" x="428.5" y="466.3857"/><rect fill="none" height="81.1875" rx="5" ry="5" style="stroke:#A80036;stroke-width:1.5;" width="22" x="411.5" y="390.5"/><rect fill="#FEFECE" height="60.8906" rx="5" ry="5" style="stroke:#FEFECE;stroke-width:1.5;" width="169" x="559.5" y="335.5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="81" x="564.5" y="350.4951">state_name</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="25" x="680.5" y="350.4951">INIT</text><line style="stroke:#A80036;stroke-width:1.0;" x1="675.5" x2="675.5" y1="335.5" y2="355.7969"/><line style="stroke:#A80036;stroke-width:1.0;" x1="559.5" x2="728.5" y1="355.7969" y2="355.7969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="106" x="564.5" y="370.792">entry_condition</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="0" x="692.5" y="370.792"/><line style="stroke:#A80036;stroke-width:1.0;" x1="675.5" x2="675.5" y1="355.7969" y2="376.0938"/><line style="stroke:#A80036;stroke-width:1.0;" x1="559.5" x2="728.5" y1="376.0938" y2="376.0938"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="51" x="564.5" y="391.0889">domain</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="43" x="680.5" y="391.0889">power</text><line style="stroke:#A80036;stroke-width:1.0;" x1="675.5" x2="675.5" y1="376.0938" y2="396.3906"/><rect fill="none" height="60.8906" rx="5" ry="5" style="stroke:#A80036;stroke-width:1.5;" width="169" x="559.5" y="335.5"/><rect fill="#FEFECE" height="60.8906" rx="5" ry="5" style="stroke:#FEFECE;stroke-width:1.5;" width="170" x="960" y="256.5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="65" x="965" y="271.4951">pre_state</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="0" x="1101" y="271.4951"/><line style="stroke:#A80036;stroke-width:1.0;" x1="1084" x2="1084" y1="256.5" y2="276.7969"/><line style="stroke:#A80036;stroke-width:1.0;" x1="960" x2="1130" y1="276.7969" y2="276.7969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="114" x="965" y="291.792">trigger_resource</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="36" x="1089" y="291.792">none</text><line style="stroke:#A80036;stroke-width:1.0;" x1="1084" x2="1084" y1="276.7969" y2="297.0938"/><line style="stroke:#A80036;stroke-width:1.0;" x1="960" x2="1130" y1="297.0938" y2="297.0938"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="92" x="965" y="312.0889">trigger_signal</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="36" x="1089" y="312.0889">none</text><line style="stroke:#A80036;stroke-width:1.0;" x1="1084" x2="1084" y1="297.0938" y2="317.3906"/><rect fill="none" height="60.8906" rx="5" ry="5" style="stroke:#A80036;stroke-width:1.5;" width="170" x="960" y="256.5"/><rect fill="#FEFECE" height="20.2969" rx="5" ry="5" style="stroke:#FEFECE;stroke-width:1.5;" width="46" x="1353.5" y="256"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="36" x="1358.5" y="270.9951">none</text><rect fill="none" height="20.2969" rx="5" ry="5" style="stroke:#A80036;stroke-width:1.5;" width="46" x="1353.5" y="256"/><rect fill="#FEFECE" height="81.1875" rx="5" ry="5" style="stroke:#FEFECE;stroke-width:1.5;" width="185" x="551.5" y="414.5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="81" x="556.5" y="429.4951">state_name</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="59" x="672.5" y="429.4951">NORMAL</text><line style="stroke:#A80036;stroke-width:1.0;" x1="667.5" x2="667.5" y1="414.5" y2="434.7969"/><line style="stroke:#A80036;stroke-width:1.0;" x1="551.5" x2="736.5" y1="434.7969" y2="434.7969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="106" x="556.5" y="449.792">entry_condition</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="0" x="684.5" y="449.792"/><line style="stroke:#A80036;stroke-width:1.0;" x1="667.5" x2="667.5" y1="434.7969" y2="455.0938"/><line style="stroke:#A80036;stroke-width:1.0;" x1="551.5" x2="736.5" y1="455.0938" y2="455.0938"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="89" x="556.5" y="470.0889">entry_handle</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="0" x="684.5" y="470.0889"/><line style="stroke:#A80036;stroke-width:1.0;" x1="667.5" x2="667.5" y1="455.0938" y2="475.3906"/><line style="stroke:#A80036;stroke-width:1.0;" x1="551.5" x2="736.5" y1="475.3906" y2="475.3906"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="51" x="556.5" y="490.3857">domain</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="43" x="672.5" y="490.3857">power</text><line style="stroke:#A80036;stroke-width:1.0;" x1="667.5" x2="667.5" y1="475.3906" y2="495.6875"/><rect fill="none" height="81.1875" rx="5" ry="5" style="stroke:#A80036;stroke-width:1.5;" width="185" x="551.5" y="414.5"/><rect fill="#FEFECE" height="81.1875" rx="5" ry="5" style="stroke:#FEFECE;stroke-width:1.5;" width="193" x="948.5" y="335.5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="65" x="953.5" y="350.4951">pre_state</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="0" x="1089.5" y="350.4951"/><line style="stroke:#A80036;stroke-width:1.0;" x1="1072.5" x2="1072.5" y1="335.5" y2="355.7969"/><line style="stroke:#A80036;stroke-width:1.0;" x1="948.5" x2="1141.5" y1="355.7969" y2="355.7969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="114" x="953.5" y="370.792">trigger_resource</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="47" x="1077.5" y="370.792">app_all</text><line style="stroke:#A80036;stroke-width:1.0;" x1="1072.5" x2="1072.5" y1="355.7969" y2="376.0938"/><line style="stroke:#A80036;stroke-width:1.0;" x1="948.5" x2="1141.5" y1="376.0938" y2="376.0938"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="72" x="953.5" y="391.0889">app_name</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="0" x="1081.5" y="391.0889"/><line style="stroke:#A80036;stroke-width:1.0;" x1="1072.5" x2="1072.5" y1="376.0938" y2="396.3906"/><line style="stroke:#A80036;stroke-width:1.0;" x1="948.5" x2="1141.5" y1="396.3906" y2="396.3906"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="92" x="953.5" y="411.3857">trigger_signal</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="59" x="1077.5" y="411.3857">NORMAL</text><line style="stroke:#A80036;stroke-width:1.0;" x1="1072.5" x2="1072.5" y1="396.3906" y2="416.6875"/><rect fill="none" height="81.1875" rx="5" ry="5" style="stroke:#A80036;stroke-width:1.5;" width="193" x="948.5" y="335.5"/><rect fill="#FEFECE" height="20.2969" rx="5" ry="5" style="stroke:#FEFECE;stroke-width:1.5;" width="35" x="1359" y="335"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="25" x="1364" y="349.9951">INIT</text><rect fill="none" height="20.2969" rx="5" ry="5" style="stroke:#A80036;stroke-width:1.5;" width="35" x="1359" y="335"/><rect fill="#FEFECE" height="60.8906" rx="5" ry="5" style="stroke:#FEFECE;stroke-width:1.5;" width="163" x="963.5" y="434.5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="74" x="968.5" y="449.4951">target_app</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="0" x="1074.5" y="449.4951"/><line style="stroke:#A80036;stroke-width:1.0;" x1="1057.5" x2="1057.5" y1="434.5" y2="454.7969"/><line style="stroke:#A80036;stroke-width:1.0;" x1="963.5" x2="1126.5" y1="454.7969" y2="454.7969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="34" x="968.5" y="469.792">topic</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="36" x="1062.5" y="469.792">none</text><line style="stroke:#A80036;stroke-width:1.0;" x1="1057.5" x2="1057.5" y1="454.7969" y2="475.0938"/><line style="stroke:#A80036;stroke-width:1.0;" x1="963.5" x2="1126.5" y1="475.0938" y2="475.0938"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="84" x="968.5" y="490.0889">notify_signal</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="59" x="1062.5" y="490.0889">NORMAL</text><line style="stroke:#A80036;stroke-width:1.0;" x1="1057.5" x2="1057.5" y1="475.0938" y2="495.3906"/><rect fill="none" height="60.8906" rx="5" ry="5" style="stroke:#A80036;stroke-width:1.5;" width="163" x="963.5" y="434.5"/><rect fill="#FEFECE" height="20.2969" rx="5" ry="5" style="stroke:#FEFECE;stroke-width:1.5;" width="46" x="1353.5" y="434"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="36" x="1358.5" y="448.9951">none</text><rect fill="none" height="20.2969" rx="5" ry="5" style="stroke:#A80036;stroke-width:1.5;" width="46" x="1353.5" y="434"/><rect fill="#FEFECE" height="81.1875" rx="5" ry="5" style="stroke:#FEFECE;stroke-width:1.5;" width="201" x="543.5" y="524.5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="81" x="548.5" y="539.4951">state_name</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="75" x="664.5" y="539.4951">AFTERRUN</text><line style="stroke:#A80036;stroke-width:1.0;" x1="659.5" x2="659.5" y1="524.5" y2="544.7969"/><line style="stroke:#A80036;stroke-width:1.0;" x1="543.5" x2="744.5" y1="544.7969" y2="544.7969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="106" x="548.5" y="559.792">entry_condition</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="0" x="676.5" y="559.792"/><line style="stroke:#A80036;stroke-width:1.0;" x1="659.5" x2="659.5" y1="544.7969" y2="565.0938"/><line style="stroke:#A80036;stroke-width:1.0;" x1="543.5" x2="744.5" y1="565.0938" y2="565.0938"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="89" x="548.5" y="580.0889">entry_handle</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="0" x="676.5" y="580.0889"/><line style="stroke:#A80036;stroke-width:1.0;" x1="659.5" x2="659.5" y1="565.0938" y2="585.3906"/><line style="stroke:#A80036;stroke-width:1.0;" x1="543.5" x2="744.5" y1="585.3906" y2="585.3906"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="51" x="548.5" y="600.3857">domain</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="43" x="664.5" y="600.3857">power</text><line style="stroke:#A80036;stroke-width:1.0;" x1="659.5" x2="659.5" y1="585.3906" y2="605.6875"/><rect fill="none" height="81.1875" rx="5" ry="5" style="stroke:#A80036;stroke-width:1.5;" width="201" x="543.5" y="524.5"/><rect fill="#FEFECE" height="81.1875" rx="5" ry="5" style="stroke:#FEFECE;stroke-width:1.5;" width="252" x="919" y="513.5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="65" x="924" y="528.4951">pre_state</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="0" x="1060" y="528.4951"/><line style="stroke:#A80036;stroke-width:1.0;" x1="1043" x2="1043" y1="513.5" y2="533.7969"/><line style="stroke:#A80036;stroke-width:1.0;" x1="919" x2="1171" y1="533.7969" y2="533.7969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="114" x="924" y="548.792">trigger_resource</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="26" x="1048" y="548.792">app</text><line style="stroke:#A80036;stroke-width:1.0;" x1="1043" x2="1043" y1="533.7969" y2="554.0938"/><line style="stroke:#A80036;stroke-width:1.0;" x1="919" x2="1171" y1="554.0938" y2="554.0938"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="72" x="924" y="569.0889">app_name</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="76" x="1048" y="569.0889">spi_service</text><line style="stroke:#A80036;stroke-width:1.0;" x1="1043" x2="1043" y1="554.0938" y2="574.3906"/><line style="stroke:#A80036;stroke-width:1.0;" x1="919" x2="1171" y1="574.3906" y2="574.3906"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="92" x="924" y="589.3857">trigger_signal</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="118" x="1048" y="589.3857">PRE_SHUTDOWN</text><line style="stroke:#A80036;stroke-width:1.0;" x1="1043" x2="1043" y1="574.3906" y2="594.6875"/><rect fill="none" height="81.1875" rx="5" ry="5" style="stroke:#A80036;stroke-width:1.5;" width="252" x="919" y="513.5"/><rect fill="#FEFECE" height="20.2969" rx="5" ry="5" style="stroke:#FEFECE;stroke-width:1.5;" width="24" x="1364.5" y="513"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="14" x="1369.5" y="527.9951">all</text><rect fill="none" height="20.2969" rx="5" ry="5" style="stroke:#A80036;stroke-width:1.5;" width="24" x="1364.5" y="513"/><rect fill="#FEFECE" height="121.7813" rx="5" ry="5" style="stroke:#FEFECE;stroke-width:1.5;" width="234" x="928" y="613"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="74" x="933" y="627.9951">target_app</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="0" x="1051" y="627.9951"/><line style="stroke:#A80036;stroke-width:1.0;" x1="1034" x2="1034" y1="613" y2="633.2969"/><line style="stroke:#A80036;stroke-width:1.0;" x1="928" x2="1162" y1="633.2969" y2="633.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="34" x="933" y="648.292">topic</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="35" x="1039" y="648.292">shdn</text><line style="stroke:#A80036;stroke-width:1.0;" x1="1034" x2="1034" y1="633.2969" y2="653.5938"/><line style="stroke:#A80036;stroke-width:1.0;" x1="928" x2="1162" y1="653.5938" y2="653.5938"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="84" x="933" y="668.5889">notify_signal</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="118" x="1039" y="668.5889">PRE_SHUTDOWN</text><line style="stroke:#A80036;stroke-width:1.0;" x1="1034" x2="1034" y1="653.5938" y2="673.8906"/><line style="stroke:#A80036;stroke-width:1.0;" x1="928" x2="1162" y1="673.8906" y2="673.8906"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="96" x="933" y="688.8857">timeout_value</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="36" x="1039" y="688.8857">5000</text><line style="stroke:#A80036;stroke-width:1.0;" x1="1034" x2="1034" y1="673.8906" y2="694.1875"/><line style="stroke:#A80036;stroke-width:1.0;" x1="928" x2="1162" y1="694.1875" y2="694.1875"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="82" x="933" y="709.1826">timeout_cnt</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="9" x="1039" y="709.1826">1</text><line style="stroke:#A80036;stroke-width:1.0;" x1="1034" x2="1034" y1="694.1875" y2="714.4844"/><line style="stroke:#A80036;stroke-width:1.0;" x1="928" x2="1162" y1="714.4844" y2="714.4844"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="86" x="933" y="729.4795">forced_state</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="38" x="1039" y="729.4795">STOP</text><line style="stroke:#A80036;stroke-width:1.0;" x1="1034" x2="1034" y1="714.4844" y2="734.7813"/><rect fill="none" height="121.7813" rx="5" ry="5" style="stroke:#A80036;stroke-width:1.5;" width="234" x="928" y="613"/><rect fill="#FEFECE" height="20.2969" rx="5" ry="5" style="stroke:#FEFECE;stroke-width:1.5;" width="57" x="1348" y="613"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="47" x="1353" y="627.9951">app_all</text><rect fill="none" height="20.2969" rx="5" ry="5" style="stroke:#A80036;stroke-width:1.5;" width="57" x="1348" y="613"/><rect fill="#FEFECE" height="81.1875" rx="5" ry="5" style="stroke:#FEFECE;stroke-width:1.5;" width="169" x="559.5" y="754.5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="81" x="564.5" y="769.4951">state_name</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="38" x="680.5" y="769.4951">STOP</text><line style="stroke:#A80036;stroke-width:1.0;" x1="675.5" x2="675.5" y1="754.5" y2="774.7969"/><line style="stroke:#A80036;stroke-width:1.0;" x1="559.5" x2="728.5" y1="774.7969" y2="774.7969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="106" x="564.5" y="789.792">entry_condition</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="0" x="692.5" y="789.792"/><line style="stroke:#A80036;stroke-width:1.0;" x1="675.5" x2="675.5" y1="774.7969" y2="795.0938"/><line style="stroke:#A80036;stroke-width:1.0;" x1="559.5" x2="728.5" y1="795.0938" y2="795.0938"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="89" x="564.5" y="810.0889">entry_handle</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="0" x="692.5" y="810.0889"/><line style="stroke:#A80036;stroke-width:1.0;" x1="675.5" x2="675.5" y1="795.0938" y2="815.3906"/><line style="stroke:#A80036;stroke-width:1.0;" x1="559.5" x2="728.5" y1="815.3906" y2="815.3906"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="51" x="564.5" y="830.3857">domain</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="43" x="680.5" y="830.3857">power</text><line style="stroke:#A80036;stroke-width:1.0;" x1="675.5" x2="675.5" y1="815.3906" y2="835.6875"/><rect fill="none" height="81.1875" rx="5" ry="5" style="stroke:#A80036;stroke-width:1.5;" width="169" x="559.5" y="754.5"/><rect fill="#FEFECE" height="60.8906" rx="5" ry="5" style="stroke:#FEFECE;stroke-width:1.5;" width="217" x="936.5" y="753.5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="65" x="941.5" y="768.4951">pre_state</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="0" x="1077.5" y="768.4951"/><line style="stroke:#A80036;stroke-width:1.0;" x1="1060.5" x2="1060.5" y1="753.5" y2="773.7969"/><line style="stroke:#A80036;stroke-width:1.0;" x1="936.5" x2="1153.5" y1="773.7969" y2="773.7969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="114" x="941.5" y="788.792">trigger_resource</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="47" x="1065.5" y="788.792">app_all</text><line style="stroke:#A80036;stroke-width:1.0;" x1="1060.5" x2="1060.5" y1="773.7969" y2="794.0938"/><line style="stroke:#A80036;stroke-width:1.0;" x1="936.5" x2="1153.5" y1="794.0938" y2="794.0938"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="92" x="941.5" y="809.0889">trigger_signal</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="83" x="1065.5" y="809.0889">SHUTDOWN</text><line style="stroke:#A80036;stroke-width:1.0;" x1="1060.5" x2="1060.5" y1="794.0938" y2="814.3906"/><rect fill="none" height="60.8906" rx="5" ry="5" style="stroke:#A80036;stroke-width:1.5;" width="217" x="936.5" y="753.5"/><rect fill="#FEFECE" height="20.2969" rx="5" ry="5" style="stroke:#FEFECE;stroke-width:1.5;" width="85" x="1334" y="753"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="75" x="1339" y="767.9951">AFTERRUN</text><rect fill="none" height="20.2969" rx="5" ry="5" style="stroke:#A80036;stroke-width:1.5;" width="85" x="1334" y="753"/><rect fill="#FEFECE" height="60.8906" rx="5" ry="5" style="stroke:#FEFECE;stroke-width:1.5;" width="187" x="951.5" y="832.5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="74" x="956.5" y="847.4951">target_app</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="0" x="1062.5" y="847.4951"/><line style="stroke:#A80036;stroke-width:1.0;" x1="1045.5" x2="1045.5" y1="832.5" y2="852.7969"/><line style="stroke:#A80036;stroke-width:1.0;" x1="951.5" x2="1138.5" y1="852.7969" y2="852.7969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="34" x="956.5" y="867.792">topic</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="35" x="1050.5" y="867.792">shdn</text><line style="stroke:#A80036;stroke-width:1.0;" x1="1045.5" x2="1045.5" y1="852.7969" y2="873.0938"/><line style="stroke:#A80036;stroke-width:1.0;" x1="951.5" x2="1138.5" y1="873.0938" y2="873.0938"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="84" x="956.5" y="888.0889">notify_signal</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="83" x="1050.5" y="888.0889">SHUTDOWN</text><line style="stroke:#A80036;stroke-width:1.0;" x1="1045.5" x2="1045.5" y1="873.0938" y2="893.3906"/><rect fill="none" height="60.8906" rx="5" ry="5" style="stroke:#A80036;stroke-width:1.5;" width="187" x="951.5" y="832.5"/><rect fill="#FEFECE" height="20.2969" rx="5" ry="5" style="stroke:#FEFECE;stroke-width:1.5;" width="56" x="1348.5" y="832"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="46" x="1353.5" y="846.9951">output</text><rect fill="none" height="20.2969" rx="5" ry="5" style="stroke:#A80036;stroke-width:1.5;" width="56" x="1348.5" y="832"/><rect fill="#FEFECE" height="40.5938" rx="5" ry="5" style="stroke:#FEFECE;stroke-width:1.5;" width="127" x="360" y="489.5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="116" x="365" y="504.4951">A_adas_workflow</text><line style="stroke:#A80036;stroke-width:1.0;" x1="360" x2="487" y1="509.7969" y2="509.7969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="117" x="365" y="524.792">C_adas_workflow</text><rect fill="none" height="40.5938" rx="5" ry="5" style="stroke:#A80036;stroke-width:1.5;" width="127" x="360" y="489.5"/><path d="M643.9098,71 L656.9098,71 C679.1842,71 728.9479,71 785.6383,71 " fill="none" style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:3.0,3.0;"/><path d="M785.6383,74.0704 L787.9411,71 L785.6383,67.9296 L793.3142,71 L785.6383,74.0704 " fill="#A80036" style="stroke:#A80036;stroke-width:1.0;"/><ellipse cx="643.9098" cy="71" fill="#A80036" rx="3" ry="3" style="stroke:#A80036;stroke-width:1.0;"/><path d="M483,115 L496,115 C515.4797,115 513.9675,97.3678 532,90 C562.9223,77.3656 601.9819,73.1327 624.7109,71.7145 " fill="none" style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:3.0,3.0;"/><path d="M624.8731,74.7504 L626.9878,71.5929 L624.5487,68.6787 L632.3006,71.309 L624.8731,74.7504 " fill="#A80036" style="stroke:#A80036;stroke-width:1.0;"/><ellipse cx="483" cy="115" fill="#A80036" rx="3" ry="3" style="stroke:#A80036;stroke-width:1.0;"/><path d="M303,299 L316,299 C372.1075,299 323.6191,226.4001 352,178 C362.3289,160.3853 377.7901,143.8055 391.6499,130.9124 " fill="none" style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:3.0,3.0;"/><path d="M393.7668,133.2413 L393.3966,129.3248 L389.533,128.5835 L397.4722,125.6202 L393.7668,133.2413 " fill="#A80036" style="stroke:#A80036;stroke-width:1.0;"/><ellipse cx="303" cy="299" fill="#A80036" rx="3" ry="3" style="stroke:#A80036;stroke-width:1.0;"/><path d="M424,197 L437,197 C484.3057,197 487.746,165.7155 532,149 C544.5512,144.2592 558.1802,140.0117 571.4605,136.3246 " fill="none" style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:3.0,3.0;"/><path d="M572.2566,139.2578 L573.6603,135.7275 L570.6643,133.3914 L578.7934,134.3343 L572.2566,139.2578 " fill="#A80036" style="stroke:#A80036;stroke-width:1.0;"/><ellipse cx="424" cy="197" fill="#A80036" rx="3" ry="3" style="stroke:#A80036;stroke-width:1.0;"/><path d="M424,217 L437,217 C478.351,217 523.602,209.5387 561.1773,201.2284 " fill="none" style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:3.0,3.0;"/><path d="M561.8459,204.1922 L563.4001,200.727 L560.5088,198.2647 L568.5866,199.557 L561.8459,204.1922 " fill="#A80036" style="stroke:#A80036;stroke-width:1.0;"/><ellipse cx="424" cy="217" fill="#A80036" rx="3" ry="3" style="stroke:#A80036;stroke-width:1.0;"/><path d="M424,238 L437,238 C465.3847,238 495.9641,238 524.6656,238 " fill="none" style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:3.0,3.0;"/><path d="M524.6656,241.0586 L526.9596,238 L524.6656,234.9414 L532.3122,238 L524.6656,241.0586 " fill="#A80036" style="stroke:#A80036;stroke-width:1.0;"/><ellipse cx="424" cy="238" fill="#A80036" rx="3" ry="3" style="stroke:#A80036;stroke-width:1.0;"/><path d="M424,258 L437,258 C479.2422,258 525.5139,265.9774 563.5296,274.7163 " fill="none" style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:3.0,3.0;"/><path d="M562.8273,277.7121 L565.7764,275.243 L564.2319,271.7205 L571.019,276.4721 L562.8273,277.7121 " fill="#A80036" style="stroke:#A80036;stroke-width:1.0;"/><ellipse cx="424" cy="258" fill="#A80036" rx="3" ry="3" style="stroke:#A80036;stroke-width:1.0;"/><path d="M303,319 L316,319 C356.4656,319 389.4287,280.7659 407.6136,253.8639 " fill="none" style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:3.0,3.0;"/><path d="M410.2397,255.5841 L408.9037,251.8944 L404.9875,252.1437 L411.914,247.2988 L410.2397,255.5841 " fill="#A80036" style="stroke:#A80036;stroke-width:1.0;"/><ellipse cx="303" cy="319" fill="#A80036" rx="3" ry="3" style="stroke:#A80036;stroke-width:1.0;"/><path d="M1118.5,266 L1131.5,266 C1208.9442,266 1300.1866,266 1346.2254,266 " fill="none" style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:3.0,3.0;"/><path d="M1346.2254,269.01 L1348.4828,266 L1346.2254,262.99 L1353.7503,266 L1346.2254,269.01 " fill="#A80036" style="stroke:#A80036;stroke-width:1.0;"/><ellipse cx="1118.5" cy="266" fill="#A80036" rx="3" ry="3" style="stroke:#A80036;stroke-width:1.0;"/><path d="M717.5,365 L730.5,365 C763.2422,365 762.3092,337.4073 793,326 C843.911,307.0771 903.9169,297.3346 952.5453,292.3192 " fill="none" style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:3.0,3.0;"/><path d="M952.8513,295.4007 L954.8564,292.0897 L952.2393,289.2377 L960.249,291.5542 L952.8513,295.4007 " fill="#A80036" style="stroke:#A80036;stroke-width:1.0;"/><ellipse cx="717.5" cy="365" fill="#A80036" rx="3" ry="3" style="stroke:#A80036;stroke-width:1.0;"/><path d="M424,400 L437,400 C474.9911,400 516.3977,394.3278 552.0917,387.617 " fill="none" style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:3.0,3.0;"/><path d="M552.6701,390.6277 L554.3497,387.1832 L551.5132,384.6063 L559.6184,386.1709 L552.6701,390.6277 " fill="#A80036" style="stroke:#A80036;stroke-width:1.0;"/><ellipse cx="424" cy="400" fill="#A80036" rx="3" ry="3" style="stroke:#A80036;stroke-width:1.0;"/><path d="M1130.5,345 L1143.5,345 C1219.5309,345 1309.5473,345 1351.8073,345 " fill="none" style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:3.0,3.0;"/><path d="M1351.8073,348.0237 L1354.0751,345 L1351.8073,341.9763 L1359.3666,345 L1351.8073,348.0237 " fill="#A80036" style="stroke:#A80036;stroke-width:1.0;"/><ellipse cx="1130.5" cy="345" fill="#A80036" rx="3" ry="3" style="stroke:#A80036;stroke-width:1.0;"/><path d="M725.5,444 L738.5,444 C764.152,444 768.2363,431.6921 793,425 C841.2048,411.9732 895.4905,400.9494 941.2563,392.6767 " fill="none" style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:3.0,3.0;"/><path d="M941.7987,395.7013 L943.5248,392.2699 L940.714,389.652 L948.818,391.3207 L941.7987,395.7013 " fill="#A80036" style="stroke:#A80036;stroke-width:1.0;"/><ellipse cx="725.5" cy="444" fill="#A80036" rx="3" ry="3" style="stroke:#A80036;stroke-width:1.0;"/><path d="M1115.5,444 L1128.5,444 C1207.0976,444 1299.7351,444 1346.2213,444 " fill="none" style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:3.0,3.0;"/><path d="M1346.2213,447.0371 L1348.4992,444 L1346.2213,440.9629 L1353.8142,444 L1346.2213,447.0371 " fill="#A80036" style="stroke:#A80036;stroke-width:1.0;"/><ellipse cx="1115.5" cy="444" fill="#A80036" rx="3" ry="3" style="stroke:#A80036;stroke-width:1.0;"/><path d="M725.5,465 L738.5,465 C811.8623,465 895.118,465 956.2464,465 " fill="none" style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:3.0,3.0;"/><path d="M956.2464,468.0878 L958.5622,465 L956.2464,461.9122 L963.9658,465 L956.2464,468.0878 " fill="#A80036" style="stroke:#A80036;stroke-width:1.0;"/><ellipse cx="725.5" cy="465" fill="#A80036" rx="3" ry="3" style="stroke:#A80036;stroke-width:1.0;"/><path d="M424,420 L437,420 C472.242,420 510.3975,425.0167 544.2091,431.2514 " fill="none" style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:3.0,3.0;"/><path d="M543.6355,434.289 L546.4872,431.6816 L544.7826,428.2139 L551.8029,432.6853 L543.6355,434.289 " fill="#A80036" style="stroke:#A80036;stroke-width:1.0;"/><ellipse cx="424" cy="420" fill="#A80036" rx="3" ry="3" style="stroke:#A80036;stroke-width:1.0;"/><path d="M1159.5,523 L1172.5,523 C1240.5321,523 1321.3575,523 1357.2375,523 " fill="none" style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:3.0,3.0;"/><path d="M1357.2375,526.0932 L1359.5574,523 L1357.2375,519.9068 L1364.9705,523 L1357.2375,526.0932 " fill="#A80036" style="stroke:#A80036;stroke-width:1.0;"/><ellipse cx="1159.5" cy="523" fill="#A80036" rx="3" ry="3" style="stroke:#A80036;stroke-width:1.0;"/><path d="M733.5,554 L746.5,554 C800.6188,554 860.266,554 911.8877,554 " fill="none" style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:3.0,3.0;"/><path d="M911.8877,557.0226 L914.1546,554 L911.8877,550.9774 L919.4442,554 L911.8877,557.0226 " fill="#A80036" style="stroke:#A80036;stroke-width:1.0;"/><ellipse cx="733.5" cy="554" fill="#A80036" rx="3" ry="3" style="stroke:#A80036;stroke-width:1.0;"/><path d="M1150.5,623 L1163.5,623 C1225.8856,623 1298.5734,623 1340.7323,623 " fill="none" style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:3.0,3.0;"/><path d="M1340.7323,626.104 L1343.0603,623 L1340.7323,619.896 L1348.4923,623 L1340.7323,626.104 " fill="#A80036" style="stroke:#A80036;stroke-width:1.0;"/><ellipse cx="1150.5" cy="623" fill="#A80036" rx="3" ry="3" style="stroke:#A80036;stroke-width:1.0;"/><path d="M733.5,575 L746.5,575 C770.6242,575 770.8615,593.4155 793,603 C833.4554,620.5146 879.4322,634.962 920.9111,646.1475 " fill="none" style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:3.0,3.0;"/><path d="M920.1193,649.1157 L923.1373,646.7413 L921.7029,643.1793 L928.3316,648.127 L920.1193,649.1157 " fill="#A80036" style="stroke:#A80036;stroke-width:1.0;"/><ellipse cx="733.5" cy="575" fill="#A80036" rx="3" ry="3" style="stroke:#A80036;stroke-width:1.0;"/><path d="M424,441 L437,441 C468.4333,441 469.8118,462.6153 496,480 C512.0209,490.6353 515.5493,494.0425 532,504 C541.1256,509.5237 550.7809,515.1365 560.4403,520.6078 " fill="none" style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:3.0,3.0;"/><path d="M558.9354,523.2804 L562.4448,521.7365 L561.9453,517.9352 L567.1218,524.3702 L558.9354,523.2804 " fill="#A80036" style="stroke:#A80036;stroke-width:1.0;"/><ellipse cx="424" cy="441" fill="#A80036" rx="3" ry="3" style="stroke:#A80036;stroke-width:1.0;"/><path d="M1142.5,763 L1155.5,763 C1214.3051,763 1281.9317,763 1326.6196,763 " fill="none" style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:3.0,3.0;"/><path d="M1326.6196,766.0077 L1328.8754,763 L1326.6196,759.9923 L1334.1389,763 L1326.6196,766.0077 " fill="#A80036" style="stroke:#A80036;stroke-width:1.0;"/><ellipse cx="1142.5" cy="763" fill="#A80036" rx="3" ry="3" style="stroke:#A80036;stroke-width:1.0;"/><path d="M717.5,784 L730.5,784 C796.3702,784 870.0132,784 929.4165,784 " fill="none" style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:3.0,3.0;"/><path d="M929.4165,787.0169 L931.6792,784 L929.4165,780.9831 L936.9587,784 L929.4165,787.0169 " fill="#A80036" style="stroke:#A80036;stroke-width:1.0;"/><ellipse cx="717.5" cy="784" fill="#A80036" rx="3" ry="3" style="stroke:#A80036;stroke-width:1.0;"/><path d="M1127.5,842 L1140.5,842 C1211.8083,842 1295.262,842 1341.2139,842 " fill="none" style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:3.0,3.0;"/><path d="M1341.2139,845.0356 L1343.4906,842 L1341.2139,838.9644 L1348.8029,842 L1341.2139,845.0356 " fill="#A80036" style="stroke:#A80036;stroke-width:1.0;"/><ellipse cx="1127.5" cy="842" fill="#A80036" rx="3" ry="3" style="stroke:#A80036;stroke-width:1.0;"/><path d="M717.5,805 L730.5,805 C759.4068,805 764.784,816.718 793,823 C842.3621,833.99 897.822,843.1447 944.0761,849.91 " fill="none" style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:3.0,3.0;"/><path d="M943.6331,852.9647 L946.3672,850.2423 L944.5192,846.8553 L951.7128,851.0176 L943.6331,852.9647 " fill="#A80036" style="stroke:#A80036;stroke-width:1.0;"/><ellipse cx="717.5" cy="805" fill="#A80036" rx="3" ry="3" style="stroke:#A80036;stroke-width:1.0;"/><path d="M424,460 L424,473 C424,489.0754 483.7321,469.6117 496,480 C543.0613,519.851 507.5723,557.3771 532,614 C552.7824,662.1731 584.8644,712.6562 609.289,748.0302 " fill="none" style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:3.0,3.0;"/><path d="M606.7189,749.817 L610.6291,749.9578 L611.8591,746.2434 L613.756,754.4555 L606.7189,749.817 " fill="#A80036" style="stroke:#A80036;stroke-width:1.0;"/><ellipse cx="424" cy="460" fill="#A80036" rx="3" ry="3" style="stroke:#A80036;stroke-width:1.0;"/><path d="M303,339 L316,339 C356.6528,339 389.5604,377.6542 407.6831,404.8519 " fill="none" style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:3.0,3.0;"/><path d="M405.0282,406.5657 L408.9685,406.843 L410.338,403.138 L411.9677,411.4892 L405.0282,406.5657 " fill="#A80036" style="stroke:#A80036;stroke-width:1.0;"/><ellipse cx="303" cy="339" fill="#A80036" rx="3" ry="3" style="stroke:#A80036;stroke-width:1.0;"/><path d="M303,360 L316,360 C371.6816,360 314.8164,438.5534 352,480 C353.4661,481.6342 355.0358,483.1821 356.69,484.6481 " fill="none" style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:3.0,3.0;"/><path d="M354.8199,487.0165 L358.4663,486.0506 L358.5601,482.2796 L362.6112,489.3233 L354.8199,487.0165 " fill="#A80036" style="stroke:#A80036;stroke-width:1.0;"/><ellipse cx="303" cy="360" fill="#A80036" rx="3" ry="3" style="stroke:#A80036;stroke-width:1.0;"/><!--MD5=[3c3456fe4e352af4e810c5202e3b0298]
@startjson
{
	"watchdog": {
		"error_handle": "none",
		"app_monitor": [
			{
				"proc_name": "/mnt/adas/adas-rt/hobot-adas-workflow.post",
				"cpu_high_load_percent": 80,
				"cpu_normal_load_percent": 60,
				"memory_high_load_MB": 1600,
				"memory_normal_load_MB": 1500,
				"domain": "ADAS"
			}
		]
	},
	"state_signal": [
		{
			"signal_name": "INIT",
			"value": 0
		},
		{
			"signal_name": "NORMAL",
			"value": 1
		},
		{
			"signal_name": "PRE_SHUTDOWN",
			"value": 2
		},
		{
			"signal_name": "SHUTDOWN",
			"value": 3
		}
	],

	"state": [
		{
			"state_name": "INIT",
			"entry_condition": {
				"pre_state": [
					"none"
				],
				"trigger_resource": "none",
				"trigger_signal": "none"
			},
			"domain": "power"
		},
		{
			"state_name": "NORMAL",
			"entry_condition": {
				"pre_state": [
					"INIT"
				],
				"trigger_resource": "app_all",
				"app_name": "",
				"trigger_signal": "NORMAL"
			},
			"entry_handle": {
				"target_app": [
					"none"
				],
				"topic": "none",
				"notify_signal": "NORMAL"
			},
			"domain": "power"
		},
		{
			"state_name": "AFTERRUN",
			"entry_condition": {
				"pre_state": [
					"all"
				],
				"trigger_resource": "app",
				"app_name": "spi_service",
				"trigger_signal": "PRE_SHUTDOWN"
			},
			"entry_handle": {
				"target_app": [
					"app_all"
				],
				"topic": "shdn",
				"notify_signal": "PRE_SHUTDOWN",
				"timeout_value": 5000,
				"timeout_cnt": 1,
				"forced_state": "STOP"
			},
			"domain": "power"
		},
		{
			"state_name": "STOP",
			"entry_condition": {
				"pre_state": [
					"AFTERRUN"
				],
				"trigger_resource": "app_all",
				"trigger_signal": "SHUTDOWN"
			},
			"entry_handle": {
				"target_app": [
					"output"
				],
				"topic": "shdn",
				"notify_signal": "SHUTDOWN"
			},
			"domain": "power"
		}
	],
	"SOC_function_Apps": [
    "A_adas_workflow",
    "C_adas_workflow"
  ],
	"db_path": "/tmp/local_sysmgr_db"
}

@endjson

PlantUML version 1.2021.12(Wed Oct 06 00:01:58 CST 2021)
(GPL source distribution)
Java Runtime: OpenJDK Runtime Environment
JVM: OpenJDK 64-Bit Server VM
Default Encoding: UTF-8
Language: en
Country: US
--></g></svg></p>
      </div>
      
      
    
    
    
    
    
    
    
    
  
    </body></html>